반응형
passlib 모듈이란?
- 파이썬용 비밀번호 해싱 라이브러리(모듈)
- 30개 이상의 비밀번호 해싱 알고리즘
- 기존 비밀번호 해시를 관리
pbkd2 함수
- passlib 라이브러리에서 사용하는 함수
- 암호 기반 키 파생 기능
- 일반적으로 sha256 함수를 많이 사용
passlib 라이브러리 설치
pip install passlib
passlib 라이브러리 호출 (pbkd2 사용)
from passlib.hash import pbkdf2_sha256
암호(Hash) 함수의 개념과 데이터 암호화하기
- 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑
- 암호용 해시 함수는 매핑된 해싱 값만을 알아가지고는 원래 입력 값을 알아내기 힘들다는 사실에 의해 사용
- 매핑된 데이터로부터 원래의 데이터를 복구 할 수 없어야 함
- 동일한 출력을 갖는 서로 다른 데이터를 찾을 수 없어야 함
# 원문 비밀번호를 암호화 하는 함수
# hash : 암호화 하는 함수
def hash_password(original_password) :
salt = 'yh*hello12'
password = original_password + salt
password = pbkdf2_sha256.hash(password)
return password
암호화된 데이터 검증하기 (verify)
- 해시로부터 암호화된 기존 데이터에 대한 사용자 입력을 확인
- 즉, 비밀번호가 맞는지 확인 가능
# 비밀번호가 맞는지 확인하는 함수
# verify : 두 데이터가 동일하는지 확인하는 함수
def check_password(original_password, hashed_password) :
salt = 'yh*hello12'
check = pbkdf2_sha256.verify(original_password+salt, hashed_password)
return check # Return value : True/False
반응형