[Hash]_해시함수란 무엇인가!

acacia·2022년 9월 20일
0

개념노트

목록 보기
2/5

해시함수의 개념

해시함수란?

알고리즘의 한 종류로서 임의의 길이를 갖는 데이터를 입력 받아서 항상 고정된 길이의 해시값으로 변환하여 출력해주는 함수를 말한다.
-Wikipedia

해시함수의 특징

1. 어떤 입력 값에도 항상 고정된 길이의 해시값을 출력한다.

  • 회원가입에 사용할 해시함수 SHA256은 어떤 길이의 입력값을 넣어도 항상 256바이트의 결과값이 나온다!

2. 눈사태 효과: 입력 값이 일부만 변경되어도 전혀 다른 값을 출력한다.

3. 출력된 결과 값을 통해서 입력값을 알아내기에 불가능하다.

  • 어떠한 규칙성도 발견할 수 없다.

해시함수의 예시

아래 예시는 SHA1를 통해 비슷한 문자열을 암호화한 결과값이다.

"주영재" -> DDB0ED48A84B6C328E50B3BFB3D15364C669C3A6
"주영째" -> 1C2FC56A4172A9B6D5C3C20309A46C01896D3194
"주형재" -> 1DA926EEF1EF8533F57A45124871F8550A278EA9

해시함수의 활용

해시함수는 그리 복잡하지 않은 알고리즘으로 구현되기 때문에, 상대적으로 CPU , 메모리 같은 시스템 자원을 덜 소모한다.
뿐만 아니라, 다양한 목적에 맞게 설계된 해시 함수가 존재하기 때문에 다양한 분야에서 활용하기 유용하다.


📚 Reference

위키백과 해시함수 (위키백과)
해시함수에 대한 개념 정리하기 ( velog | Bityoungjae )

profile
게으른 개발자의 부지런한 개발일지

0개의 댓글