텍스트를 MD5와 SHA-256 해시로 변환하는 방법
텍스트를 입력한 뒤 지원되는 알고리즘을 선택하면 알고리즘별 16진수 해시 다이제스트를 확인할 수 있습니다. 빈 입력은 성공으로 처리될 수 있지만 다이제스트를 계산하지 않습니다.
텍스트 해시 도구를 사용하는 상황
텍스트의 내용을 해시 다이제스트로 바꾸어 비교하거나 기록해야 할 때 이 도구를 사용할 수 있습니다. 입력한 문자열이 비어 있지 않으면 선택한 알고리즘마다 별도의 결과가 만들어집니다. 결과는 원문을 그대로 보여 주는 방식이 아니라 알고리즘에 따른 16진수 다이제스트 텍스트로 제시됩니다.
지원되는 알고리즘은 MD5, SHA-1, SHA-256, SHA-512, SHA3-256, SHA3-512, BLAKE2b, BLAKE2s입니다. 용도에 따라 하나만 선택하거나 여러 항목을 함께 선택할 수 있습니다. 예를 들어 특정 문자열의 SHA-256 결과만 확인하려면 해당 이름만 지정하고, 여러 방식의 결과를 나란히 살펴보려면 여러 알고리즘을 선택하면 됩니다.
알고리즘을 따로 좁히지 않은 기본 선택은 all입니다. 입력한 텍스트가 있는 상태에서 이 기본값을 사용하면 구현에서 지원하는 알고리즘이 선택됩니다. 다만 결과 형식과 빈 입력의 처리 방식은 결과를 해석할 때 별도로 확인해야 합니다. 특히 형식 선택에서 base64를 지정하더라도 확인된 결과는 16진수 텍스트로 표시됩니다.
입력부터 결과 확인까지의 순서
-
해시로 바꿀 문자열을 입력 영역에 넣습니다. 공백, 줄바꿈, 기호를 포함한 텍스트를 다룰 때에는 확인하려는 원문을 임의로 고치지 말고 입력할 내용을 먼저 정리합니다. 입력 영역은 선택 사항으로 정의되어 있지만, 실제 해시 계산을 원한다면 빈 문자열이 아닌 값을 넣어야 합니다.
-
알고리즘 선택 부분에서 필요한 항목을 고릅니다. 한 가지 결과만 필요하면 MD5, SHA-256처럼 이름 하나를 선택하고, 여러 결과를 비교하려면 지원 목록에서 복수의 항목을 지정합니다. 아무 항목도 좁히지 않고 기본 선택인
all을 사용하면 지원되는 MD5, SHA-1, SHA-256, SHA-512, SHA3-256, SHA3-512, BLAKE2b, BLAKE2s가 대상이 됩니다. -
알고리즘을 직접 지정하는 입력 방식이라면 이름을 쉼표로 나눕니다.
SHA-256,SHA-512처럼 작성할 때에는 각 이름의 철자와 하이픈을 지원 목록에 맞춥니다. 이 방식에서는 입력한 이름 가운데 인식되는 항목만 선택됩니다. 따라서 비슷해 보이는 별칭이나 목록에 없는 이름을 섞으면 기대한 알고리즘 수보다 적은 결과가 나올 수 있습니다. -
생성 동작을 실행한 다음 결과에서 알고리즘 이름과 그에 대응하는 다이제스트를 함께 확인합니다. 비어 있지 않은 텍스트와 인식된 알고리즘을 사용하면 선택한 알고리즘별로 성공 결과가 반환됩니다. 여러 항목을 골랐다면 각 결과가 어느 알고리즘에 속하는지 구분하고, 필요한 결과만 따로 복사하기 전에 입력 문자열과 선택 항목을 다시 대조합니다.
-
결과가 보이지 않거나 예상보다 적으면 입력란이 비어 있는지 먼저 살핍니다. 이어서 알고리즘 이름을 지원 목록과 비교하고 쉼표 구분이 올바른지 점검합니다. 이름이 하나도 인식되지 않은 경우에도 오류가 아니라 성공 결과로 처리될 수 있으므로, 성공 여부만 보고 해시가 계산되었다고 판단하지 않는 것이 좋습니다.
다이제스트와 빈 결과를 해석하는 법
결과를 읽을 때에는 알고리즘별 항목과 다이제스트 문자열을 한 쌍으로 봅니다. 같은 입력에 여러 알고리즘을 적용하면 알고리즘 이름마다 결과가 나뉘어 반환되므로, 비교하거나 전달할 때 이름을 생략하지 않는 편이 안전합니다. 표시되는 값은 확인된 동작 기준으로 16진수 다이제스트 텍스트입니다.
형식의 기본값은 hex로 정의되어 있으며 base64 값도 입력으로 받아들여질 수 있습니다. 그러나 base64를 요청한 경우에도 표시되는 결과는 base64 인코딩 문자열이 아니라 16진수 텍스트입니다. 따라서 다른 시스템에서 base64 값이 필요하다면 이 도구의 표시 결과를 그대로 base64라고 분류하지 말고, 요구되는 형식을 별도로 확인해야 합니다.
입력란을 비워 둔 경우에는 성공으로 반환될 수 있지만 해시 계산은 진행되지 않습니다. 이 상태는 정상적인 다이제스트가 생성되었다는 뜻이 아니므로, 결과가 없을 때에는 먼저 실제 텍스트가 전달되었는지 확인합니다. 알고리즘 선택에도 같은 주의가 필요합니다. 지원되지 않는 이름은 선택 대상에서 제외되며, 입력한 이름을 하나도 알아보지 못하면 성공 상태와 함께 계산된 해시가 없는 결과가 나올 수 있습니다.
결과의 개수는 입력한 알고리즘 이름의 개수와 항상 같다고 단정할 수 없습니다. 인식된 이름만 계산 대상이 되기 때문입니다. 또한 기본 선택을 사용했는지 특정 알고리즘만 골랐는지에 따라 결과 항목의 범위가 달라집니다. 결과를 기록할 때에는 원문, 선택한 알고리즘, 표시된 16진수 값을 서로 분리해 적으면 확인 과정에서 혼동을 줄일 수 있습니다.
사용 예시
짧은 문자열 hello에 대해 SHA-256 결과가 어떤 형태로 표시되는지 확인하려는 상황입니다.
입력 영역에 hello를 넣고 SHA-256 하나를 선택한 다음 생성 동작을 실행합니다.
성공 결과에는 SHA-256이라는 알고리즘 항목과 그에 대응하는 16진수 다이제스트 텍스트가 포함됩니다.
제한 사항
- 빈 문자열에서는 해시가 계산되지 않고, 인식되지 않은 알고리즘은 선택에서 제외될 수 있으며,
base64를 지정해도 출력은 16진수로 남습니다.
자주 발생하는 오류
- 목록에 없는 이름이나 잘못된 철자를 입력하면 해당 항목이 조용히 제외될 수 있습니다. 해시 항목이 없거나 수가 부족하면 오류 발생 여부만 기다리지 말고, 지원 목록의 표기와 쉼표 사이의 구분을 다시 확인하세요.
자주 묻는 질문
입력란을 비워 두면 해시가 생성되나요?
입력란이 빈 문자열이면 작업은 성공으로 반환될 수 있지만 계산된 해시는 나오지 않습니다. 값을 확인하려면 비어 있지 않은 텍스트를 입력한 뒤 생성 동작을 실행하세요.
지원되지 않는 알고리즘 이름을 입력하면 오류가 발생하나요?
인식되지 않은 이름은 선택 대상에서 빠질 수 있으며, 입력한 이름이 모두 해당하면 오류 대신 해시가 없는 성공 결과가 반환될 수 있습니다. 지원 목록의 이름을 사용하면 선택 결과를 확인하기 쉽습니다.
base64 형식으로 해시를 받을 수 있나요?
base64를 지정해도 확인된 동작에서는 결과가 16진수 다이제스트 텍스트로 표시됩니다. base64 문자열이 필요한 작업이라면 이 결과를 base64 값으로 간주하지 않아야 합니다.