SHA-256, Sault 를 이용한 비밀번호 인증 방식
흔히 웹이나 소프트웨어에서 사용되는 비밀번호 인증 방식이다.
- SHA-256
- 솔트(salt)는 단방향 해시 함수에서 다이제스트를 생성할 때 추가되는 바이트 단위의 임의의 문자열이다. 그리고 이 원본 메시지에 문자열을 추가하여 다이제스를 생성하는 것을 솔팅(salting)이라 한다. 예를 들어 다음과 같이 "redfl0wer"에 솔트인 "8zff4fgflgfd93fgdl4fgdgf4mlf45p1"를 추가해 다이제스트를 생성할 수 있다.
인증순
- 비밀번호 생성
- 임의의 Salt 값을 생성후 유저 디비 테이블에 기록.
- SHA-256(Salt+패스워드) 값(해시)을 디비에 기록
- 비밀번호 인증
- SHA-256(입력받은 비밀번호 + 유저 디비 테이블의 Salt 값) 과 유저테이블에 이미 생성된 해시 값이 같으면 인증 성공