hashingsaltbcryptcredential-storage

Password hashing과 salt를 설명해 주세요

예상 시간
6
30초 답변

꼬리질문

조금 더 깊게 물어본다면

답변 뒤에 이어질 수 있는 질문들을 하나씩 열어볼 수 있어요.

왜 단순 SHA-256으로 저장하면 부족한가요?

부가 설명

로그인 기능을 만들 때 비밀번호를 다시 보여줄 일은 없습니다. 서버가 해야 하는 일은 사용자가 입력한 비밀번호가 맞는지 검증하는 것입니다. 그래서 복호화 가능한 방식으로 저장하기보다, 입력값을 같은 방식으로 hash해 저장된 hash와 비교합니다.

Salt는 같은 비밀번호를 쓰는 사용자들이 같은 hash를 갖지 않게 만듭니다. 여기에 password hashing 함수는 일부러 계산 비용을 높여 대량 추측을 어렵게 합니다. SHA-256 같은 빠른 일반 hash와 password hashing 함수는 목적이 다릅니다.

한 줄 정리

비밀번호 저장의 목표는 다시 읽는 것이 아니라 맞는지 검증하면서 원문 추측을 어렵게 만드는 것입니다.