
Django의 password_needs_rehash 함수는 password가 현재 사용 중인 암호화 알고리즘으로 재암호화가 필요한지 여부를 확인하는 함수입니다.
password_needs_rehash 함수는 True를 반환할 때는 다음과 같은 상황이 있습니다.
1. password가 현재 사용 중인 암호화 알고리즘으로 암호화되지 않았을 때
2. password가 현재 사용 중인 암호화 알고리즘으로 재암호화가 필요할 때
password_needs_rehash 함수는 password의 암호화 알고리즘에 따라 다릅니다.
Django는 기본적으로 PBKDF2와 Argon2를 지원하며, Argon2를 사용하는 경우 password_needs_rehash 함수는 Argon2의 버전과 salt를 확인하여 True를 반환합니다.
password_needs_rehash 함수를 사용할 때, password가 암호화된 상태에서 호출해야 합니다.
예를 들어, User.objects.make_password(password) 함수를 사용하여 password를 암호화한 후 password_needs_rehash 함수를 호출할 수 있습니다.
#hostingforum.kr
python
from django.contrib.auth.hashers import make_password, needs_rehash
password = "mysecretpassword"
hashed_password = make_password(password)
print(needs_rehash(hashed_password, 'argon2')) # True
print(needs_rehash(hashed_password, 'pbkdf2')) # False
2025-06-12 10:41