inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

노드 리액트 기초 강의 #11 로그인 기능 with Bcrypt (1)

bcrypt compare password 에 관한 질문이 있습니다!

681

khhan1990

작성한 질문수 38

0

선생님 안녕하세요!

bcrypt를 통해 compare password하는 부분에서 문제가 발생하여 질문드립니다.

우선 제 git주소는 아래와 같습니다.
https://github.com/Kyu-holic/new-boiler-plate.git

postman에서 register 라우터를 사용해서 유저를 만들면 아래와 같이 등록은 잘 됩니다.

그런데, login 라우터를 사용해서 login을 하려고 하면 계속해서 비밀번호가 틀렸다는 메세지가 뜨는데,
send를 통해서 보니 사진처럼 "data and hash must be strings"라는 에러 메세지가 발생합니다.

이에 대한 해결책을 찾다보니 아래의 주소에서 나오는 것 처럼 bcrypt를 통해 compare password를 할 때 계속해서 false 메시지가 뜨는 사람들이 꽤 있는 것 같았습니다.

https://github.com/kelektiv/node.bcrypt.js/issues/685

그러다 아래 주소의 사이트에서 나온 답변처럼
(6번 문항 solution2에 나와있습니다)

https://copyprogramming.com/howto/bcrypt-comparesync-is-always-returning-false

bcrypt.compare(plainPassword, this.password ....)
에서plainPassword 제일 앞에 백틱을 넣어주니
잘 해결이 됩니다.

이건 어떤 이유에서 이런 현상이 발생하는 것인지,

그리고 왜 제 코드는 선생님 코드와 똑같이 했을 때는 안되고, 저렇게 해야만 되는 것인지 궁금합니다.

그 사이에 bcrypt나 node의 버전이 업그레이드 되어 뭔가 변한 것이 있는 걸까요?

확인 부탁드리겠습니다!

react nodejs

답변 0

깃 이메일이랑 비번이 필요하다고 하네요

0

60

1

404 에러

0

120

1

34강 인증 체크에서 element 사용 때문에 에러나시는 분들 이렇게 하심 됩니다.

0

140

1

로그인, 로그아웃, 토근 작동 안 함

0

261

0

9강 오류 어떻게 해결하나요?

0

199

1

localhost 에서 연결을 거부했습니다.

0

1983

4

포스트맨에서 true가 안떠요

0

158

1

왜 안되나요

0

133

1

몽고db 연결 오류가 납니다 위에껀 입력한 코드, 아래껀 터미널이에요

0

251

1

로그아웃 401 에러(Unauthorized)

0

520

2

암호가 해싱되지 않고 입력값 그대로 db에 저장되는 문제

0

161

1

7강중에서

0

180

2

User.findByToken is not a function

0

215

1

루트 디렉토리

0

286

1

useState

0

570

1

프록시 잘 설정했는데도 404 오류 뜨는 분들

5

909

6

webpack 관련 에러 질문

0

226

1

리액트 관련 질문

0

285

1

14강 로그아웃 안됨

0

325

1

mongoDB 데이터 확인하는 법

0

416

1

postman 에러

0

298

1

선생님 리덕스를 사용하면 어떠한 부분이 좋은지 알 수 있을까요?

0

240

1

다음과 같은 에러들이 발생합니다.

0

283

1

14강 로그아웃 기능 구현시 postman에서 Cannot POST 오류가 뜹니다.

0

389

1