해시 생성기

다양한 해시 알고리즘으로 문자열을 암호화하세요

텍스트 입력
해시 알고리즘 선택

해시 생성기는 입력한 글이나 텍스트 파일에서 MD5·SHA-1·SHA-256·SHA-512 해시값을 한 번에 뽑아 주는 도구입니다. 해시는 내용이 한 글자만 달라져도 완전히 다른 값이 나오기 때문에, 문자열이나 파일이 전달되는 동안 바뀌지 않았는지 확인하는 데 씁니다. 네 가지를 동시에 계산해 나란히 보여 주고 개별 복사, 전체 복사, 결과 파일 내려받기를 지원합니다. 계산은 전부 브라우저 안에서 이뤄집니다.

해시생성 사용 방법

  1. 암호화할 텍스트 칸에 문자열을 넣습니다. 또는 아래 파일 업로드로 텍스트 파일을 고르면 그 내용이 위 입력 칸에 채워집니다.
  2. 해시 알고리즘 선택에서 필요한 것을 체크합니다. 네 가지 모두 처음부터 켜져 있으므로 필요 없는 것을 끄면 됩니다.
  3. 해시 생성을 누르면 아래에 결과 카드가 열리고 그 자리로 화면이 이동합니다.
  4. 각 줄의 복사 버튼으로 값을 하나씩 가져가거나, 모든 해시 복사로 알고리즘 이름과 함께 전부 한 번에 담습니다.
  5. 결과 다운로드를 누르면 생성 시각과 값이 함께 적힌 텍스트 파일을 내려받습니다. 초기화를 누르면 입력과 결과가 모두 비워집니다.

지원 형식과 입력 조건

지원 알고리즘
MD5, SHA-1, SHA-256, SHA-512 (네 가지 모두 처음부터 선택되어 있습니다)
결과 길이
MD5 32자, SHA-1 40자, SHA-256 64자, SHA-512 128자
결과 표기
16진수 소문자
문자 인코딩
UTF-8 기준. 한글도 표준값과 같게 나옵니다
파일 업로드
최대 10MB. 파일을 텍스트로 읽어 입력 칸에 넣습니다
앞뒤 공백
계산하기 전에 잘라 냅니다
내려받는 파일
hash_results_ 뒤에 생성 시각이 붙은 txt 파일
처리 위치
브라우저 내부. 입력한 글과 파일은 서버로 전송되지 않습니다

값이 제대로 나오는지 확인하는 방법

  • hello 를 넣고 생성하면 MD5 는 5d41402abc4b2a76b9719d911017c592 가, SHA-1 은 aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d 가 나옵니다. 이 값은 널리 알려진 표준값이라 다른 프로그램의 결과와 비교해 도구가 맞게 계산하는지 바로 확인할 수 있습니다.
  • 한글도 UTF-8 로 바꾼 뒤 계산하므로 명령줄 도구나 다른 사이트에서 같은 문자열로 뽑은 값과 일치합니다.
  • 결과는 언제나 소문자 16진수입니다. 비교 대상이 대문자로 적혀 있다면 한쪽을 맞춰 놓고 보세요. 대소문자만 다르고 글자가 같다면 같은 값입니다.
  • 체크를 해제한 알고리즘의 칸은 빈 채로 남습니다. 값이 나오지 않는 것이 아니라 애초에 계산하지 않은 것입니다.

알고리즘을 고르는 기준

  • 가장 먼저 볼 것은 비교 대상이 어떤 알고리즘으로 만든 값인지입니다. 같은 내용이라도 알고리즘이 다르면 값이 전혀 다릅니다. 값의 길이를 보면 어떤 알고리즘인지 짐작할 수 있습니다.
  • MD5 — 32자. 계산이 빠르고 여전히 널리 쓰이지만, 서로 다른 내용이 같은 값을 갖도록 만드는 방법이 알려져 있습니다. 파일이 전송 중에 깨졌는지 확인하는 용도로는 쓸모가 있으나 위조를 막아야 하는 곳에는 권장되지 않습니다.
  • SHA-1 — 40자. MD5 와 마찬가지 이유로 보안 용도에서는 권장되지 않습니다. 옛 시스템과 맞춰야 할 때 씁니다.
  • SHA-256 — 64자. 오늘날 가장 널리 쓰이는 기본값입니다. 배포 파일의 무결성 확인이나 전자서명에서 표준으로 요구되는 경우가 많습니다.
  • SHA-512 — 128자. SHA-256 과 같은 계열이면서 값이 더 깁니다. 64비트 환경에서는 SHA-256 보다 빠르게 계산되는 경우도 있습니다.
  • 비밀번호를 저장하는 용도라면 이 네 가지 중 어느 것도 그대로 쓰면 안 됩니다. 비밀번호에는 계산을 일부러 느리게 만든 별도의 방식을 씁니다.

입력을 다루는 방식에서 주의할 점

  • 입력한 글의 앞뒤 공백과 줄바꿈은 계산하기 전에 잘려 나갑니다. 그래서 hello 와 앞뒤에 공백을 붙인 hello 의 해시가 같게 나옵니다. 공백까지 포함한 값이 필요하다면 이 도구로는 만들 수 없습니다.
  • 파일 업로드는 파일을 텍스트로 읽어 입력 칸에 옮겨 담는 방식입니다. txt, csv, json, 소스코드처럼 글자로 된 파일에는 알맞습니다.
  • 반대로 이미지, 압축 파일, 설치 파일 같은 이진 파일을 올리면 원래 파일의 해시와 다른 값이 나옵니다. 글자로 읽을 수 없는 부분이 다른 문자로 바뀌어 들어오기 때문입니다. 내려받은 프로그램의 체크섬을 확인하는 용도로는 쓸 수 없습니다.
  • 파일은 10MB까지 받습니다. 넘으면 안내가 뜨고 처리되지 않습니다.
  • 입력 칸의 내용을 고치면 열려 있던 결과 카드가 닫힙니다. 옛 값을 새 입력의 결과로 잘못 읽는 일을 막기 위한 동작이니, 고쳤다면 해시 생성을 다시 누르세요.

자주 묻는 질문

입력한 글이나 파일이 서버로 전송되나요?

아닙니다. 네 가지 해시 모두 브라우저 안에서 계산합니다. 올린 파일도 브라우저가 직접 읽을 뿐 서버로 올라가지 않습니다. 이용 통계로는 글자 수와 고른 알고리즘 이름 정도만 기록되며 내용 자체는 포함되지 않습니다.

내려받은 프로그램 파일이 정상인지 확인하려는데 값이 맞지 않습니다.

이 도구의 파일 업로드는 파일을 텍스트로 읽는 방식이라 이진 파일에서는 원래 파일의 해시와 다른 값이 나옵니다. 설치 파일이나 압축 파일의 체크섬 확인에는 쓸 수 없고, 운영체제에 들어 있는 명령(윈도우의 certutil, 맥과 리눅스의 shasum 등)을 쓰셔야 합니다. 이 도구는 문자열과 텍스트 파일에 맞춰져 있습니다.

해시값을 원래 글로 되돌릴 수 있나요?

없습니다. 해시는 한쪽 방향으로만 계산되도록 만들어져 되돌리는 방법이 없습니다. 다만 짧거나 흔한 문자열은 미리 계산해 둔 대조표로 알아내는 경우가 있으니, 비밀번호처럼 중요한 값을 해시로 바꿔 공개된 곳에 올려 두지는 마세요.

같은 글인데 다른 곳에서 뽑은 값과 다릅니다.

대개 눈에 보이지 않는 차이 때문입니다. 이 도구는 앞뒤 공백과 줄바꿈을 잘라 내고 계산합니다. 그 밖에 줄바꿈 문자의 종류(윈도우와 맥이 다릅니다), 파일 마지막의 줄바꿈 포함 여부, 파일 앞머리에 붙는 표시 문자 등이 값을 바꿉니다. 비교할 두 값을 같은 조건에서 다시 뽑아 보세요.

MD5 는 이제 쓰면 안 되나요?

용도에 따라 다릅니다. 서로 다른 내용이 같은 MD5 값을 갖도록 만드는 방법이 알려져 있어서, 누군가 일부러 위조할 수 있는 상황(서명 검증, 보안 검사)에는 쓰지 않는 것이 맞습니다. SHA-1 도 같습니다. 반면 파일이 전송 중에 우연히 깨졌는지 확인하거나 옛 시스템이 요구하는 값을 맞추는 용도로는 여전히 쓰입니다. 새로 만드는 것이라면 SHA-256 을 고르세요.