Hashing

김루루룽·2022년 8월 24일
0

blog✏️

목록 보기
58/61
post-thumbnail

hashing이란?

원본 문자열을 알아볼 수 없는 난해한 문자열로 정의(표현)하는 과정.

IT시스템은 암호화를 통해 인가된 송신자와 수신자만 원본 메시지를 조회할 수 있는 장치를 만든다. 그렇지만 인가되지 않은 제삼자가 암호화된 메시지를 변조했는지는 복호화 과정에서 알 수 없다. 누군가가 메시지를 변조했는지 확인하기 위해 해싱을 사용한다.

hashing의 특징

  • 동일한 문자열은 동일한 해시 알고리즘을 사용하면 반드시 동일한 해시값을 생성한다.
  • 서로 다른 문자열은 동일한 해시 알고리즘을 사용하면 반드시 서로 다른 해시값을 생성한다.
  • 문자열을 수정하면, 해시값도 변경된다.
  • 해싱이 완료되면 해시값을 통해 원래의 문자열을 알아낼 수 없다. 변조 여부만 확인한다.

실제 hashing이 사용되는 곳

  • DB에 비밀번호를 넣을 때 해시 값으로 변경하여 저장한다.
  • 메세지 인증 및 인증서 서명, 키 생성에도 사용된다.

salt

실제 hashing 알고리즘이 해킹당한 경우가 있다. 그래서 해시를 보안성 강화를 위해 salt를 통해 보안을 견고하게 만든다.
salt는 해시 함수를 돌리기 전에 원문에 임의의 문자열을 덧붙이는 것을 말한다.
임의의 문자열을 붙이는 의미의 소금친다라고 생각하면 된다.


참조 :
암호화와 해싱의 차이점을 알아보자

profile
1day 1push..plz

0개의 댓글