Pergunta

de bcrypt javadoc tem este código para saber como criptografar uma senha :

String pw_hash = BCrypt.hashpw(plain_password, BCrypt.gensalt()); 

Para verificar se uma senha de texto corresponde a um que foi hash anteriormente, use o método checkpw:

if (BCrypt.checkpw(candidate_password, stored_hash))
    System.out.println("It matches");
else
    System.out.println("It does not match");

Esses trechos de código implica para mim que o sal gerado aleatoriamente é jogado fora. É este o caso, ou é apenas um trecho de código enganosa?

Foi útil?

Solução

O sal é incorporado o hash (codificada num formato tipo base 64).

Por exemplo, na tradicional Unix senhas o sal foi armazenado como os dois primeiros caracteres da senha. Os restantes caracteres representado o valor de hash. A função verificador sabe disso, e puxa o hash para além de obter o fora sal para trás.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top