본문 바로가기
Restful API

[Restful API] 회원가입할 때 비밀번호 암호화 하는 법 pbkdf2_sha256

by dong_su 2023. 12. 7.

암호화 
-> 비밀번호 원문(1234)를 보내면 서버는 이 원문을 받아서 암호화 한다.

양방향 암호화 = 암호화를 하고 다시 복구가 가능
단방향 암호화 = 암호화를 하면 복구가 불가

보안때문에 단방향 암호화를 사용한다 = hash 라고 한다.

 

pip install psycopg2-binary passlib

-> 암호화 하기 위한 라이브러리 설치 

 

from passlib.hash import pbkdf2_sha256
from config import Config

# 원문 비밀번호를 단방향 암호화 하는 함수
def hash_password(original_password) :
    original_password = original_password + Config.PASSWORD_SALT

    password = pbkdf2_sha256.hash(original_password)

    return password

# 로그인할 때, 입력한 비밀번호가 암호화된 비밀번호와 일치한 지 체크하는 함수
def check_password(original_password, hashed_password) :
    original_password = original_password + Config.PASSWORD_SALT

    check = pbkdf2_sha256.verify(original_password, hashed_password)

    return check

-> from passlib.hash import pbkdf2_sha256 한 후

-> 보안을 위해 사용자가 작성한 비밀번호에 다른 문자열을 조합한다. ex(123 + "Hi")

-> 조합한 비밀번호를 hash() 함수를 이용해 최종으로 암호화한다.