코딩캠프/AI 웹개발 취업캠프
[AI 웹개발 취업캠프] 62Day - 프로젝트 13일차
고랑E
2023. 10. 18. 22:31
728x90
오늘은 패스워드 암호화를 할 것이다.
일반적으로 가장 많이 사용하고 있는 bcrypt 라는 라이브러리를 사용해 패드워드 암호화를 할껀데
선택한 이유는 아주 간단하다.
가장 자료가 많다.
구현이 쉽다.
비교적 강력하다.
pip install bcrypt
로 bcrypt 를 설치해준다.
기존 회원가입 코드에서
def create_user(db: Session, user: UserCreate):
db_user = User(**user.dict())
db.add(db_user)
db.commit()
db.refresh(db_user)
return db_user
비밀번호 암호화를 위해
비밀번호를
str -> bytes 변경
bcrypt로 암호화
암호화 데이터 -> str로 변경
작업을 거쳐 db에 저장합니다.
def create_user(db: Session, user: UserCreate):
hashed_password = bcrypt.hashpw(user.password.encode('utf-8'), bcrypt.gensalt()).decode('utf-8')
db_user = User(
email=user.email,
password=hashed_password,
nickname=user.nickname
)
db.add(db_user)
db.commit()
db.refresh(db_user)
return db_user
본 후기는 정보통신산업진흥원(NIPA)에서 주관하는 <AI 서비스완성! AI+웹개발 취업캠프 - 프론트엔드&백엔드> 과정 학습/프로젝트/과제 기록으로 작성되었습니다.