해시 생성기
다양한 해시 알고리즘으로 문자열을 암호화하세요
텍스트 입력
해시 알고리즘 선택
해시 생성기는 입력한 글이나 텍스트 파일에서 MD5·SHA-1·SHA-256·SHA-512 해시값을 한 번에 뽑아 주는 도구입니다. 해시는 내용이 한 글자만 달라져도 완전히 다른 값이 나오기 때문에, 문자열이나 파일이 전달되는 동안 바뀌지 않았는지 확인하는 데 씁니다. 네 가지를 동시에 계산해 나란히 보여 주고 개별 복사, 전체 복사, 결과 파일 내려받기를 지원합니다. 계산은 전부 브라우저 안에서 이뤄집니다.
해시생성 사용 방법
- 암호화할 텍스트 칸에 문자열을 넣습니다. 또는 아래 파일 업로드로 텍스트 파일을 고르면 그 내용이 위 입력 칸에 채워집니다.
- 해시 알고리즘 선택에서 필요한 것을 체크합니다. 네 가지 모두 처음부터 켜져 있으므로 필요 없는 것을 끄면 됩니다.
- 해시 생성을 누르면 아래에 결과 카드가 열리고 그 자리로 화면이 이동합니다.
- 각 줄의 복사 버튼으로 값을 하나씩 가져가거나, 모든 해시 복사로 알고리즘 이름과 함께 전부 한 번에 담습니다.
- 결과 다운로드를 누르면 생성 시각과 값이 함께 적힌 텍스트 파일을 내려받습니다. 초기화를 누르면 입력과 결과가 모두 비워집니다.
지원 형식과 입력 조건
- 지원 알고리즘
- 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 을 고르세요.