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+웹개발 취업캠프 - 프론트엔드&백엔드> 과정 학습/프로젝트/과제 기록으로 작성되었습니다.
'코딩캠프 > AI 웹개발 취업캠프' 카테고리의 다른 글
[AI 웹개발 취업캠프] 64Day - 프로젝트 15일차 (0) | 2023.10.20 |
---|---|
[AI 웹개발 취업캠프] 63Day - 프로젝트 14일차 (2) | 2023.10.19 |
[AI 웹개발 취업캠프] 61Day - 프로젝트 12일차 (0) | 2023.10.17 |
[AI 웹개발 취업캠프] 60Day - 프로젝트 11일차 (0) | 2023.10.16 |
[AI 웹개발 취업캠프] 34Day - 전염병 예측/숫자 생성 인공지능 만들기 (0) | 2023.09.01 |