bcrypt로 패스워드 암호화 및 확인
1. 암호화의 필요성
user와 관련된 db에 패스워드를 그대로 저장하게 되면 db가 해킹 당했을때 아주 치명적인 결과가 될 수 있다. 따라서 암호화를 진행하여야 한다.
2. bcrypt
bcrypt는 암호화를 아주 쉽게 도와주는 모듈이다. 워낙 간단하긴 하지만 회고를 목적으로 작성해보고자 한다.
2-1. hash값 생성
우선 bcrypt가 설치되있지 않다면
pip install bcrypt로 설치를 해주자.
그 후에 다음과 같이 해쉬값을 생성해 줄 수 있다.
import bcrypt
# form 에서 입력값을 받아온다.
pw = request.form.get("user_pw")
# 암호화를 진행한다.
# 암호화를 하면 byte타입의 해쉬값이 만들어 지는데
# 이를 decode하여 string 타입으로 db에 저장할 것이다.
hashed_pw = bcrypt.hashpw(pw.encode('utf-8'),bcrypt.gensalt())
hashed_pw=hashed_pw.decode('utf-8')
2-2. 패스워드 일치 확인
확인은 이런 식으로 간단하게 할 수 있다.
bcrypt.checkpw(pw.encode('utf-8'),user["User_pw"].encode('utf-8'))
Author And Source
이 문제에 관하여(bcrypt로 패스워드 암호화 및 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@highway92/bcrypt로-패스워드-암호화-및-확인저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)