RestFul API

Hashing 알고리즘 : 단방향 암호화 실행하기 : utils 파일 만들기

567Rabbit 2024. 5. 22. 10:00

Hashing 알고리즘

 

- Hashing알고리즘은 단방향 암호화로,

 

- 원본 데이터를 해시값으로부터 복원하는 것이 불가능하므로 보안이 중요한 분야에서 많이 활용된다.

 

- 데이터 무결성 검사, 비밀번호 저장, 디지털 서명, 블록체인 등 다양한 분야에서 사용된다.

 

 


vscode 터미널 cmd에서 설치하기

pip install email-validator

pip install passlib

pip install psycopg2-binary

 

 

 

 

SALT를 config 파일에 만든다. (SALT는 random_state와 비슷한 개념으로, 노출되면 해킹될 수 있다.)

SALT는 본인이 원하는대로 아무렇게나 지정하면 된다

 

 

 

 

utils.py 만들기

from passlib.hash import pbkdf2_sha256
from config import Config

# 원문 비밀번호를, 단방향으로 암호화하는 함수
def hash_password(original_password) :
    original_password = original_password + Config.SALT
    password = pbkdf2_sha256.hash(original_password)
    return password
    
# 유저가 로그인할 때 입력한 비밀번호가 맞는지 체크(복호화)하는 함수 
def check_password(original_password, hashed_password) :
    original_password = original_password + Config.SALT
    return pbkdf2_sha256.verify(original_password, hashed_password)

 

 

 

비밀번호 입력하고, 실행시키면(python utils.py) 1234를 비밀번호로 만든다.

hashed_password = hash_password('1234')
print(hashed_password)

 

 

 

복사해서, 비밀번호 체크하는 실행문 만들기

check = check_password('1235', '$pbkdf2-sha256$29000$936P8T7nfK/13rvXmnMOYQ$45uMcjbt6Cg4hDHbsJs3tuR7abOJ4j8Wfczblc5FC9E')
print(check)