MD2 해시 코드 계산기
게시됨: 2025년 2월 16일 오후 10시 38분 26초 UTC
텍스트 입력이나 파일 업로드를 기반으로 해시 코드를 계산하기 위해 MD2(Message Digest 2) 해시 함수를 사용하는 해시 코드 계산기입니다.MD2 Hash Code Calculator
MD2(Message Digest 2) 해시 함수는 1989년 로널드 리베스트가 설계한 암호화 해시 함수입니다. 8비트 컴퓨터에 특별히 최적화되었습니다. 현재는 암호화 목적으로 쓸모없고 안전하지 않은 것으로 간주되지만, 이전 버전과 호환되는 해시 코드를 계산해야 하는 경우를 대비해 여기에 포함시켰습니다. 새로운 시스템을 설계할 때는 사용해서는 안 됩니다.
전체 공개: 이 페이지에서 사용된 해시 함수의 구체적인 구현은 제가 직접 작성하지 않았습니다. PHP 프로그래밍 언어에 포함된 표준 함수입니다. 편의를 위해 웹 인터페이스만 공개하여 여기에서 사용할 수 있도록 만들었습니다.
MD2 해시 알고리즘에 대하여
저는 간단한 수학은 괜찮지만, 매우 뛰어나지는 않고, 결코 제 자신을 수학자라고 생각하지도 않습니다. 그래서 이 해시 함수가 수학자가 아닌 사람들도 이해할 수 있는 용어로 어떻게 작동하는지 설명하려고 노력할 것입니다. 완전한 수학 버전을 선호한다면, 웹의 다른 많은 곳에서 쉽게 찾을 수 있습니다 ;-)
이제 어떤 재료(당신의 메시지)를 넣어도 항상 정확히 하나의 작은 16조각 초콜릿 바(해시)로 만들어내는 레시피가 있다고 상상해보세요. 재료가 무엇이든, 크든 작든 항상 같은 크기의 초콜릿 바가 나옵니다.
이 요리법의 목적은 다음과 같습니다.
- 초콜릿만 봐서는 어떤 재료인지 알 수 없습니다.
- 재료를 조금만 바꿔도 초콜릿의 맛이 완전히 달라지기 때문에 누군가 재료나 레시피를 건드렸는지 알 수 있습니다.
초콜릿 바를 만드는 과정은 3단계로 구성됩니다.
1단계: 메시지 채우기(재료를 적합하게 만들기)
정확히 16개의 사과(또는 재료)가 들어 있는 바구니가 있다고 가정해 보겠습니다. 하지만 사과가 14개밖에 없다면 어떨까요? 바구니를 채우려면 사과를 2개 더 추가해야 합니다. 사과가 부족하다면 사과를 더 추가하면 됩니다. 예를 들어:
- 두 개가 더 필요하면 사과 두 개를 더 넣으세요.
- 16개 이상이면 다음 바구니를 채워야 합니다. 예를 들어, 28개가 있으면 4개를 더해서 32개(16의 두 배)가 됩니다.
이렇게 하면 다음 단계로 넘어가기 전에 모든 바구니가 가득 찼는지 확인할 수 있습니다.
2단계: 체크섬 추가(비밀 성분 목록)
이제 우리는 바구니에 담긴 모든 재료를 기반으로 비밀 재료 목록을 작성합니다.
- 각 바구니를 살펴보고, 사과를 살펴보고, 각 바구니의 비밀 코드를 적으세요.
- 이건 그냥 복사가 아닙니다. 이상한 방식으로 숫자를 더하는 것과 같아서 누군가가 몰래 들어와 사과를 바꾸더라도 목록이 잘못되어 보이도록 하는 것입니다.
이 목록은 나중에 재료가 엉망이 되지 않았는지 다시 한 번 확인하는 데 도움이 됩니다.
3단계: 모든 것을 함께 섞기(매직 블렌더)
이제 재밌는 부분, 믹싱이 시작됩니다!
- 48개 슬롯이 있는 블렌더가 있습니다.
- 당신은 다음을 던집니다:
- 사과(당신의 메시지).
- 이전의 오래된 혼합물(첫 번째 배치는 비어 있음).
- 첫 번째와 두 번째의 혼합형입니다.
그런 다음 블렌딩합니다. 하지만 한 번만은 아닙니다. 18번 블렌딩하고, 매 라운드마다 속도와 방향을 바꿉니다. 이것은 일반적인 블렌딩이 아닙니다. 각 라운드마다 혼합물을 특별한 방식으로 저어주어 사과 하나만 달라도 전체 초콜릿 맛이 달라집니다.
마지막 초콜릿 바(해시)
모든 블렌딩이 끝나면 혼합물의 상위 16개만 부어냅니다. 그게 마지막 초콜릿 바, MD2 해시입니다. 원래 사과와는 전혀 달라 보이고, 초콜릿만 보고 원래 재료를 추측하려고 해도 절대 맞출 수 없을 겁니다.
기억하다:
- 같은 재료 = 같은 초콜릿.
- 사과 하나만 바뀌어도 초콜릿이 완전히 달라집니다.
- 뒤로 돌아갈 수는 없습니다. 초콜릿만으로 원래의 사과를 알아낼 수는 없습니다.