Hash function이란?

mjdevv·2023년 11월 21일
0

자료구조

목록 보기
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개의 댓글

관련 채용 정보