HashCode
- 어떤 길이의 데이터를 임의 짧은 길이로 암호화하는기술
- 복호화 불가능
- 원본을 증명 할 수 있다.
- 어떤 데이터를 불시에 Hash하여도 똑같은 Hash값이 나오기 때문에 원본임을 증명 할 수 있다. (진위여부 확인 가능)
- Hash의 값이 충돌이 나면 안된다. 같은 Hash의 값이 나오면 진위여부 확인이 불가능 해지기 때문이다.
- 짧은 길이로 보관이 가능하다
- 같은 데이터를 Hash하여 값이 똑같으면 true 이기 때문에 진위여부 확인이 빠르다.
- HashCode의 값을 보관하는 보관함이 해킹을 당하거나, 누군가에게 뺏겨도 복호화가 불가능 하기 때문에 데이터 확인이 불가능하다.

ex) 데이터를 어떠한 규칙으로 빈 박스(리던던시)에 담아서 Hash하는 그림이다. 리던던시의 규칙은 없고 길면 길수록 경우의 수가 늘어나기 때문에 충돌이 날 확률이 줄어든다.

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