풀스택 인강 들으면서 공부 중인데


유저 정보를 DB에 저장하면서 비밀번호를 bcypt로 해시해서 저장한단 말임?

근데 같은 비밀번호를 넣어줘도 해시 값이 매번 바뀌더라고


npm 문서 찾아보니까 결과에 salt 라고 해서 해시값을 매번 바뀌게 해주는 요소가 있는거같은데

메뉴얼에 보면 salt는 걍 해시를 n번 돌릴지 결정해주는 값이라고 돼있더라고


그럼 결과에 있는 저 salt = nOUIs5k~~ 는 그냥 bcypt가 넣어주는 랜덤한 문자열인가? 싶고


bcypt.compare()로 비밀번호 대조를 하는데 그러면 저 salt 부분을 가지고

cost-factor 만큼 해시를 반복했을 때 hash-value와 같으면 true를 반환하는 거임?


질문 요약)

1. bcypt.hash를 할 때 bcypt가 임의의 랜덤한 문자열을 넣어서 같이 해시를 돌리는거임?

2. bcypt.compare를 하면 결과에 써있는 저 salt를 이용해서 똑같이 해시를 돌려보는거임?