요즘 패스워드를 저장할 때, 복호화가 불가능하도록 hash 함수를 이용해 패스워드를 저장한다.
이런 함수를 Django에서도 제공한다.
아래는 그 사용 예.
from django.utils.hashcompat import hashlib
def digest_password(password):
return hashlib.sha256(password).hexdigest() # 64자리 문자열 리턴
sha256 외에도 여러 함수를 제공하는데, 그 아래는 공격이 가능하다고 하니 안전하게 256 이상을 사용하는 것이 좋을 것 같다.
※ 혹시, 이걸로 어떻게 하는지 잘 모르는 분들을 위해 간단한 패스워드 처리 방법.
1. 패스워드를 위의 함수를 이용해서 처리한 후 DB에 저장
2. 사용자가 로그인시 입력한 패스워드를 위의 함수를 이용해 변환한 후, DB에 있는 변환된 값과 비교해서
같으면 로그인 성공, 다르면 틀린 패스워드
'Python_Django' 카테고리의 다른 글
Django의 cache 사용 (0) | 2012.07.25 |
---|---|
decorator 만들기 (0) | 2012.07.25 |
request의 값 처리 (0) | 2012.07.25 |
CSRF token 생성 (0) | 2012.07.25 |
Django의 session 처리 (0) | 2012.07.13 |