Hubo una pregunta similar que encontré, que se formuló hace más de una década " ¿Es correcto que el secreto de la API se almacene en texto plano o capaz de descifrar? ", pero la mayoría de las respuestas Parece que giran en torno a esquemas de seguridad API donde el secreto se usa como una clave, por ejemplo, para producir un hash, en cuyo caso la respuesta es, por supuesto, que necesita tener una copia completa disponible.
Sin embargo, hay otros esquemas API, si echamos un vistazo a Stripe, por ejemplo, puedes ver que esencialmente el secreto se usa como contraseña en el encabezado de una solicitud:
No tengo una idea particular de cómo funciona Strip, pero, por supuesto, hay cierto nivel de éxito en el rendimiento si permites que haya múltiples claves API activas suponiendo que uses un esquema de hashing razonable.
Ahora puedo pensar en una forma de evitar esto (como incluir en la clave algún tipo de identificador que se pueda usar para retirar la versión específica de hash), pero no parece que se haya hecho aquí.
Entonces, ¿hay alguna razón por la que no necesitarías hash estos datos? Parece que es tan importante como cualquier contraseña, quizás con la excepción de que sabes que no se está reutilizando en otros sitios web.