암호화
-> 비밀번호 원문(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() 함수를 이용해 최종으로 암호화한다.
'Restful API' 카테고리의 다른 글
[Restful API] JWT 토큰 유효시간 만료 방법 (1) | 2023.12.07 |
---|---|
[Restful API] flask에서 JWT 사용하는 방법 (0) | 2023.12.07 |
[Restful API] Config 파일 만들기 (1) | 2023.12.06 |
[Restful API] Restful API 개발 할 때, MySQL 접속을 위한 유저를 따로 만들기 (0) | 2023.12.06 |
[Restful API] Python MySQL Connector를 이용해 delete 하는 방법 (0) | 2023.12.06 |