파이썬의 암호화 패키지를 사용하여 장고 웹 사이트의 MySQL 데이터베이스에서 암호화 된 암호를 유지합니다.파이썬 암호화 패키지 : 암호에 여분의 문자를 입력 할 수 있습니다.
user.password = crypt(request.POST['password'], netid)
user.save()
가 로그인에 올바른 암호를 확인하려면 :
암호화하려면 비밀번호를 지속/:이 버그이지만, 여기에 내가 사용하고 코드입니다 있는지 확실하지 않습니다
if crypt(password, email) == user.password:
# Grant acccess to the user's profile, etc.
문제는 다음과 같습니다. 변수 netid = [email protected]
및 request.POST['password'] = 'ABC123abc'
을 사용하여 암호를 암호화하면 올바르게 작동합니다. 그러나 로그인을 시도 할 때 trailing_chars가 유효한 문자열 일 수있는 'ABC123abc[trailing_chars]'
암호를 사용하면 여전히 로그인 할 수 있습니다. 왜이 기능입니까? 그것은 큰 보안 구멍이있는 것처럼 보입니다.
해싱 암호를 포함한 모든 사용자/암호 항목을 처리하는 기본 [Django auth] (https://docs.djangoproject.com/en/dev/topics/auth/)을 사용하지 않는 이유는 무엇입니까? – jvc26