User.objects.create()
사용 시 비밀번호가 암호화되지 않고 일반 텍스트로 저장되는 심각한 보안 문제 발생 🚨.authenticate()
함수는 해싱된 비밀번호와 데이터베이스의 일반 텍스트 비밀번호를 비교하므로 인증 실패 🚫.django.contrib.auth.hashers
모듈의make_password()
함수를 사용하여 비밀번호를 안전하게 해싱 가능 🔑.User.objects.create_user()
는 비밀번호를 자동으로 해싱하여 저장하므로 안전한 사용자 생성 방법 👍.user.set_password()
메서드를 사용하여 비밀번호를 변경해야 해싱이 적용됨 ⚙️.- Django의 내장 폼(AdminUserCreationForm, UserCreationForm) 및 뷰(login view)는 비밀번호 해싱을 자동 처리 🛡️.