JAVA
2023. 5. 26.
Hash, HashFunction, HashCollision 완벽 정복하기!
Hash, HashFunction 이란? Hash란 일반적으로 key가 Hash Function을 통과하여 암호화되어 나온 결과물을 의미합니다. 그리고 Hash Function은 임의의 길이의 입력값을 고정 길이의 암호화된 출력으로 변환해 주는 함수를 뜻합니다. 이러한 해시 함수는 크게 세가지의 특징을 가집니다. 어떤 입력 값에도 항상 고정된 길이의 해시값을 출력한다. 입력 값의 아주 일부만 변경되어도 전혀 다른 결과 값을 출력한다 출력된 결과값을 통해 입력값을 유추할 수 없다. 우선 첫번째 특성을 살펴보면, 입력값이 짧든 길든 항상 동일한 길이의 해시값이 출력된다는 것을 알 수 있습니다. 이러한 해시에는 크게 MD 알고리즘, SHA 알고리즘이 있는데 SHA알고리즘을 통해 특징들을 이해해 보겠습니다. 위..