TIL26 암호화된 create에서 에러발생후 에러 수정
decode('utf-8')코드 추가 하기전
User.objects.create(
nickname = data['nickname'],
password = data['password'],
password = bcrypt.hashpw(data['password'].encode('utf-8'), bcrypt.gensalt())
이렇게 초기에 직접 터미널에서 암호화된 create를 테스트하니정상적으로 해쉬값으로 들어갔다.
하지만 포스트맨, 프론트에서 직접 서버통신을 통해 decode 하지않아 byte 값으로 들어가 서버에서 에러를 자꾸 발생 시켰다.
User.objects.create(
nickname = data['nickname'],
password = data['password'],
password = bcrypt.hashpw(data['password'].encode('utf-8'), bcrypt.gensalt()).decode('utf-8')
다음과 같이 변경하니 정상적으로 201ok가 떴다.
암호화 된 비밀번호를 데이터베이스에서 create할때는 b'가 포함되지 않게 str로 변경해주는 decode로 해줘야한다.
변경전
변경후
Author And Source
이 문제에 관하여(TIL26 암호화된 create에서 에러발생후 에러 수정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@chp0510/TIL26-암호화된-create에서-에러발생후-에러-수정저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)