
`sodium_crypto_pwhash_str_needs_rehash` 함수는 Sodium 라이브러리에서 password hashing 함수인 `sodium_crypto_pwhash` 함수를 사용했을 때 재해시가 필요한지 여부를 알려주는 함수입니다.
이 함수는 두 개의 인자를 받습니다. 첫 번째 인자는 이전에 저장한 해시 값이고, 두 번째 인자는 사용자가 입력한 password입니다.
이 함수의 반환 값은 `0` 또는 `1`로, `0`은 재해시가 필요 없음을 의미하고, `1`은 재해시가 필요함을 의미합니다.
예를 들어, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
c
int needs_rehash = sodium_crypto_pwhash_str_needs_rehash(저장된 해시 값, 사용자 입력 password);
if (needs_rehash == 1) {
// 재해시가 필요함
저장된 해시 값 = sodium_crypto_pwhash(사용자 입력 password);
} else {
// 재해시가 필요하지 않음
}
이 함수를 사용하는 이유는 password hashing 함수인 `sodium_crypto_pwhash` 함수는 password의 길이와 salt의 길이에 따라 해시 값의 길이가 달라질 수 있기 때문입니다. 따라서, 이전에 저장한 해시 값과 현재의 password을 비교할 때, 재해시가 필요할 수 있습니다.
2025-05-06 06:49