암호학에서 솔트(salt)는 데이터, 비밀번호, 통과암호를 해시 처리하는 단방향 함수의 추가 입력으로 사용되는 랜덤 데이터이다. 솔트는 스토리지에서 비밀번호를 보호하기 위해 사용된다.
사용자의 비밀번호를 암호화처리할 때, 단순히 암호화하는 것이 아니라 사용자의 비밀번호에 랜덤한 솔트값(소금같은 존재라 salt인듯...)을 더해서 해시 처리한다.
예를 들면, 비밀번호가 1234라고 하고 솔트값이 abcd라고 하면
1234abcd로 해시 처리하는 것.
그래서 솔트가 무슨 의미가 있는가?
솔트값 없이 비밀번호를 암호화한다면 같은 패턴으로 암호화되기 때문에 동일한 비밀번호는 동일한 해시값을 가지게 된다. 솔트값을 추가함으로써 동일한 비밀번호를 가진 두 사용자의 해시값이 다르게 저장되므로, 해커가 해시값을 추측하여 비밀번호를 유추하는 것을 방지할 수 있다.
'개발일기' 카테고리의 다른 글
[Node] node로 크롤러 개발 이슈들 정리 (0) | 2023.05.15 |
---|---|
마이크로서비스 핵심 개념 6가지 (0) | 2023.05.13 |
처음으로 외주를 하면서 느낀 점 (0) | 2022.10.03 |
자고 일어나니 회사가 사라졌다 (0) | 2022.08.31 |
유니티 게임 개발 마무리 (1) | 2022.07.17 |
댓글