programing

소금을 비크립트에 보관해야 하나요?

javaba 2022. 7. 10. 11:26
반응형

소금을 비크립트에 보관해야 하나요?

bCrypt의 javadoc에는 비밀번호 암호화 방법에 대한 다음 코드가 있습니다.

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

평문 비밀번호가 이전에 해시된 비밀번호와 일치하는지 여부를 확인하려면 checkpw 방법을 사용합니다.

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

이 코드 조각들은 무작위로 생성된 소금이 버려지는 것을 암시합니다.이것은 사실입니까, 아니면 단지 오해의 소지가 있는 코드 조각입니까?

salt는 해시(base64 스타일 포맷으로 인코딩됨)에 통합됩니다.

예를 들어 기존 Unix 비밀번호에서는 salt는 비밀번호의 처음 두 글자로 저장되었습니다.나머지 문자는 해시 값을 나타냅니다.체커 함수는 이를 인식하고 해시를 분리하여 소금을 다시 꺼냅니다.

언급URL : https://stackoverflow.com/questions/277044/do-i-need-to-store-the-salt-with-bcrypt

반응형