작성
·
1.1K
1
답변 1
1
안녕하세요 !!
compare 함수를 써서 plain과 실제 hashed 된 비번을 비교할 때
그 과정에서 hashed된 비번을 salt부분과 hash 부분을 분리합니다.
그 이후에 salt 된 부분과 plain을 encrypt 시켜서 원래 hashed된 비밀번호와 비교를 해서 match 되었는지 결론을 도출합니다 !!
감사합니다.
저도 해당하는 내용을 찾아봤었는데, 스택 오버플로우에 자세하게 설명되어있던 것을 확인해서 이해하게되었습니다.
https://stackoverflow.com/questions/13023361/how-does-node-bcrypt-js-compare-hashed-and-plaintext-passwords-without-the-salt
답변 감사합니다!
아직 의문이 남아있는데요,
원래 사용자가 salt값을 따로 가지고 있다가 로그인할때 그 salt 값을 이용하여 password를 생성해서 비교하는게 아니라, 매번 그냥 compare으로만 비교하게되면
원래 사용자 혹은 해킹하려는 사람이 결국은 똑같은 원래 password만 입력해도
결국 로그인되는데,,, 그럼 결국 salt를 하는 의미가 없어지는게 아닌가 생각이 듭니다.