TIL26 암호화된 create에서 에러발생후 에러 수정

3391 단어 TILCREATECREATE
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로 해줘야한다.

변경전

변경후

좋은 웹페이지 즐겨찾기