Hash function이란?

mjdevv·2023년 11월 21일

자료구조

목록 보기
1/5
post-thumbnail

해시 함수란?


해시함수는 임의의 길이를 가지는 데이터를 고정된 길이의 데이터로 매핑하는 단방향 함수를 말한다.

  • input : 임의의 길이 데이터
  • function : 단방향 해싱 함수
  • output : 고정된 길이를 가지는 데이터

단방향 함수 : input data가 output data로 매핑될 수는 있지만 output data가 input data로 역방향 매핑 할 수는 없다는 의미를 가진다.

가능 : input →\rightarrow output
불가능 : intput ←\leftarrow output

업로드중..

위의 그림을 보면 keys에 해당하는 것들이 input data. hash function이 input data에 해당하는 key들의 값을 output인 hashses에 매핑해주는 단방향 함수다. 단방향 함수이므로 해시함수를 통해 keys를 hashes에 매핑할 수 있지만, hashes에서 keys로 역방향 매핑하는 것은 불가능하다.

  • input : keys(임의의 길이 데이터)
  • function : hash function (단방향 해싱 함수)
  • output : hashes (고정된 길이를 가지는 데이터)

가능 : keys →\rightarrow hashes
불가능 : keys ←\leftarrow hashes


해시함수의 적용

  • 해시테이블 :
    탐색 알고리즘 중 하나

  • 암호화
    SHA
    해싱을 통해 입력 데이터를 hash로 변환

  • 데이터 압축
    임의의 길이 데이터를 정해진 길이 데이터로 매핑
    매핑된 길이로 데이터들을 서로 비교할 수 있음


profile
방구석 언어기술자

0개의 댓글