This article has been translated from English to Korean.

지금까지 이전 레슨에서 해싱이 무엇이고 어떻게 작동하는지에 대해 배웠습니다.

그러나 이러한 특수 프로그램이 실제로 어떤 기능을 하는지 제대로 이해하기 위해서는 실제 작동하는 예를 보는 것이 도움이 됩니다!

See how hashing works!

실제 해시 함수를 사용하여 해싱 프로세스가 어떻게 작동하는지 살펴봅시다.

SHA-256은 비트코인의 해시 함수로 선택되었으므로, 이 예제에서는 이 함수를 사용하겠습니다.

다음은 첫 번째 예제 입력입니다:

BabyPips.com은 얼음처럼 차갑습니다.

이 문장을 SHA-256 해시 함수에 넣으면 다음과 같은 해시 값이 생성되는데, 이를"다이제스트(digest)" 또는 간단히"해시(hash)"라고도 합니다.

A58E12FAC905B8F84EA2F64F888191A4B66A67CC45F8E7B7B0F94C37A134CB57

다이제스트가 문자와 숫자의 조합이라는 것을 알 수 있습니다. 그리고 길이는 정확히 64자입니다.

그 외에는 이 요약본을 보고 배울 수 있는 것이 별로 없습니다. 입력 내용에 대한 패턴이나 단서가 없습니다. 그냥 횡설수설하는 것 같아 보일 뿐입니다.

출력 결과는 무작위로 보일 수 있습니다. 그러나 출력을 보고 입력 내용을 추측할 수는 없습니다.

입력을 SHA-256 해시 함수를 통해 다시 실행하면, 정확히 동일한 출력("해시")을 다시 얻을 수 있습니다.

동일한 입력은 항상 동일한 출력을 만들어 냅니다.

이제 첫 번째 예제의 입력에 미묘한 변화를 주어 어떤 일이 일어나는지 살펴봅시다:

BabyPips.com은 이가 없어도 멋집니다.

"lice"를 철자하기 위해 "ice"라는 단어의 시작 부분에 문자 "l"이 추가되었습니다. 있다

새로운 요약본은 다음과 같습니다:

B8784EAEB1FC50719B2041FB1AEE30FF91516529CCB65B4B446CC4D5F6B4EB95

이제 두 가지를 비교해 보겠습니다.

입력 소화하다
BabyPips.com은 얼음처럼 차갑습니다. A58E12FAC905B8F84EA2F64F888191A4B66A67CC45F8E7B7B0F94C37A134CB57
BabyPips.com은 이가 없어도 멋집니다. B8784EAEB1FC50719B2041FB1AEE30FF91516529CCB65B4B446CC4D5F6B4EB95

첫 번째 요약본과는 완전히 다른 결과임을 알 수 있습니다!

입력이 거의 동일하더라도 한 글자만 변경해도 완전히 다른 결과가 만들어졌습니다.

Lice is so cool

이가 꽤 역겹기 때문에 입력에 한 가지 더 변경을 가해 보겠습니다.

BabyPips.com은 쌀처럼 멋집니다.

이제 어떤 일이 일어나는지 살펴봅시다:

FCA7032BE8CF7F3C0DD75B8DEB77412E452EA5E2275BAA4125123CD639ED2C9A

또 다른 완전히 다른 입력!

이제 세 가지를 비교해 보겠습니다.

입력 소화하다
BabyPips.com은 얼음처럼 차갑습니다. A58E12FAC905B8F84EA2F64F888191A4B66A67CC45F8E7B7B0F94C37A134CB57
BabyPips.com은 이가 없어도 멋집니다. B8784EAEB1FC50719B2041FB1AEE30FF91516529CCB65B4B446CC4D5F6B4EB95
BabyPips.com은 쌀처럼 멋집니다. FCA7032BE8CF7F3C0DD75B8DEB77412E452EA5E2275BAA4125123CD639ED2C9A

해시 함수에 입력할 수 있는 것은 말 그대로 모든 입력이라는 점을 강조할 필요가 있습니다.

입력 길이에 관계없이 출력은 항상 같은 고정 길이로 나오며, 항상 완전히 무작위로 나타납니다.

이 도구를 직접 사용해 보세요:

입력하는 내용에 작은 변화를 주 어 해시가 얼마나 크게 달라지는지 확인해 보세요.

정말 깔끔하지 않나요?! 🤓

축하합니다! 여러분만의 해시를 만들었습니다! 👏