[JAVA] 50. Object 메서드 - HashCode()

편준민's avatar
Feb 18, 2025
[JAVA] 50. Object 메서드 - HashCode()
💡

HashCode

  • 어떤 길이의 데이터를 임의 짧은 길이로 암호화하는기술
  • 복호화 불가능
  • 원본을 증명 할 수 있다.
    • 어떤 데이터를 불시에 Hash하여도 똑같은 Hash값이 나오기 때문에 원본임을 증명 할 수 있다. (진위여부 확인 가능)
    • Hash의 값이 충돌이 나면 안된다. 같은 Hash의 값이 나오면 진위여부 확인이 불가능 해지기 때문이다.
  • 짧은 길이로 보관이 가능하다
    • 같은 데이터를 Hash하여 값이 똑같으면 true 이기 때문에 진위여부 확인이 빠르다.
    • HashCode의 값을 보관하는 보관함이 해킹을 당하거나, 누군가에게 뺏겨도 복호화가 불가능 하기 때문에 데이터 확인이 불가능하다.
notion image
ex) 데이터를 어떠한 규칙으로 빈 박스(리던던시)에 담아서 Hash하는 그림이다. 리던던시의 규칙은 없고 길면 길수록 경우의 수가 늘어나기 때문에 충돌이 날 확률이 줄어든다.
 
 
HashCode의 이해를 돕는 그림
HashCode의 이해를 돕는 그림
package ex17; class Animal { } public class Ha02 { public static void main(String[] args) { Animal a1 = new Animal(); Animal a2 = new Animal(); System.out.println(a1.hashCode()); System.out.println(a2.hashCode()); } }
Share article

YunSeolAn