hash(digest) 호출

Python_Django 2012. 7. 25. 10:23


요즘 패스워드를 저장할 때, 복호화가 불가능하도록 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
AND