
sodium_crypto_pwhash_str_needs_rehash 함수는 이전에 생성된 해시가 최신 버전의 Sodium 라이브러리를 지원하는지 여부를 확인하는 데 사용됩니다.
이 함수의 반환값이 True이면, 이전에 생성된 해시가 최신 버전의 Sodium 라이브러리를 지원하지 않는다는 의미입니다. 이 경우, 새로운 해시를 생성해야 합니다.
반환값이 False이면, 이전에 생성된 해시가 최신 버전의 Sodium 라이브러리를 지원한다는 의미입니다. 이 경우, 이전에 생성된 해시를 사용할 수 있습니다.
이 함수를 사용하여 비밀번호와 해시를 생성할 때는, 다음 조건을 만족해야 합니다.
1. 비밀번호의 길이는 32바이트 이상이어야 합니다.
2. 비밀번호는 ASCII 문자만 포함해야 합니다.
3. 비밀번호는 이전에 생성된 해시와 다르야 합니다.
예시 코드는 다음과 같습니다.
#hostingforum.kr
python
import sodium
# 이전에 생성된 해시
previous_hash = b'이전의 해시'
# 비밀번호
password = b'새로운 비밀번호'
# sodium_crypto_pwhash_str_needs_rehash 함수를 사용하여 이전에 생성된 해시가 최신 버전의 Sodium 라이브러리를 지원하는지 여부를 확인합니다.
if sodium.crypto_pwhash_str_needs_rehash(previous_hash, password):
# 이전에 생성된 해시가 최신 버전의 Sodium 라이브러리를 지원하지 않는 경우, 새로운 해시를 생성합니다.
new_hash = sodium.crypto_pwhash_str(password, sodium.crypto_pwhash_ALG_ARGON2ID13, 32)
print(new_hash)
else:
# 이전에 생성된 해시가 최신 버전의 Sodium 라이브러리를 지원하는 경우, 이전에 생성된 해시를 사용합니다.
print(previous_hash)
이 예시 코드에서는 sodium_crypto_pwhash_str_needs_rehash 함수를 사용하여 이전에 생성된 해시가 최신 버전의 Sodium 라이브러리를 지원하는지 여부를 확인합니다. 만약 이전에 생성된 해시가 최신 버전의 Sodium 라이브러리를 지원하지 않는 경우, 새로운 해시를 생성합니다. 만약 이전에 생성된 해시가 최신 버전의 Sodium 라이브러리를 지원하는 경우, 이전에 생성된 해시를 사용합니다.
2025-07-21 08:12