¿Por qué un hash de scrypt es diferente cada vez?

0

Estoy tratando de envolver mi mente en torno a scrypt y cómo funciona el hash. Tengo una función básica que creará un hash scrypt , sin embargo, parece que cada vez que lo ejecuto, el hash es diferente. ¿ scrypt siempre genera un hash diferente, si es así, ¿por qué?

from passlib.hash import scrypt

def scrypt_hash(string, salt=None, front=False, back=False):
    print scrypt.hash(string)

#<= $scrypt$ln=16,r=8,p=1$3RvjfE9JCWEMobT2HoPQ+g$fv0toINPck6zSYD5+QqKUFi4GkptYT/deJ/C8R0JLSU
#<= $scrypt$ln=16,r=8,p=1$Xus9x/g/p1QK4bzX+p9zLg$G/JbYOw8Km1l57MUescXrPEjbVz8GIh8lPyIlOI9rMc
#<= $scrypt$ln=16,r=8,p=1$qzXGOIew1npvzZnzvpdSqg$17/frDtJOPnOODHSXOM4kw6N3oUNLltLOTf+odzZ8RA
    
pregunta 13aal 09.05.2017 - 13:23
fuente

1 respuesta

6

Si no especifica una sal, una se genera aleatoriamente. La sal es diferente cada vez, por lo que el hash también será diferente.

  

salt (str) - Cadena de sal opcional. Si se especifica, la longitud debe estar entre 0-1024 bytes. Si no se especifica, uno se generará automáticamente (se recomienda).

source

    
respondido por el Sjoerd 09.05.2017 - 13:41
fuente

Lea otras preguntas en las etiquetas