Formato de cadenas de hash [cerrado]

0

Al hashear una cadena, a veces veo el formato así:

{SHA512}1G2zjh2Bso/LzS06JDLXcELCJX4TQm7oXL5Et3Yg4Veyji7iQW26VnBdEHiURM5evO6duJjzY5387mkWV0oiyYA=

Específicamente la sección que indica la función hash SHA512 .

¿Es esto un estándar? ¿Hay alguna documentación en algún lugar sobre cuáles pueden ser los valores posibles entre {} ?

Por ejemplo, si quisiera usar bcrypt, ¿qué pondría allí?

    
pregunta prajo 12.01.2016 - 18:41
fuente

1 respuesta

1

Esto no es un estándar, es específico de la implementación. Lo utiliza la biblioteca, que contiene la contraseña para identificar qué función hash se ha utilizado.

Por ejemplo, PHP usa este formato en su biblioteca de hashing de contraseña :

$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a
  • 2y significa que PHP usó el algoritmo bcrypt.
  • 10 es el costo utilizado para hash la cadena.
  • El resto de la cadena almacena la sal (si se usa) y el hash mismo.

Tener estos metadatos permite a PHP seleccionar automáticamente el algoritmo / costo correcto cuando el script llama a password_verify con la cadena suministrada por el usuario.

    
respondido por el Benoit Esnard 12.01.2016 - 18:52
fuente

Lea otras preguntas en las etiquetas