본문으로 바로가기

해시 생성기베타

텍스트나 파일의 MD5·SHA-1·SHA-256·SHA-384·SHA-512 해시를 브라우저에서 계산합니다. 16진수(대소문자)·Base64 표기와 해시값 비교 기능을 지원합니다.

입력 방식

계산할 알고리즘
표기 방식

해시 결과

  • MD5
  • SHA-1
  • SHA-256
  • SHA-384
  • SHA-512

파일은 이 기기 안에서만 처리되며 서버로 전송되지 않습니다.

해시란 무엇인가요

해시(hash)는 어떤 길이의 데이터든 정해진 길이의 문자열로 요약하는 계산입니다. 예를 들어 SHA-256은 입력이 한 글자든 10GB짜리 동영상 파일이든 항상 64자리 16진수 문자열을 내놓습니다. 같은 입력은 언제나 같은 해시값을 내고, 입력이 한 비트만 달라져도 해시값은 전혀 다른 모습이 됩니다. 이 성질 덕분에 해시는 “두 데이터가 정말 같은가”를 빠르게 확인하는 용도로 널리 쓰입니다.

사용 방법

텍스트를 붙여넣거나 파일을 끌어다 놓으면 선택한 알고리즘의 해시값이 계산됩니다. 여러 알고리즘을 동시에 켤 수 있고, 결과는 16진수(소문자·대문자) 또는 Base64로 볼 수 있습니다. 큰 파일은 한 번에 메모리에 올리지 않고 잘게 나눠 읽으면서 계산하므로, 계산 중 진행률이 표시되고 언제든 취소할 수 있습니다. 배포처에서 받은 해시값이 있다면 비교 칸에 붙여넣어 일치 여부를 확인할 수 있습니다.

파일 무결성을 확인하는 법

소프트웨어나 이미지 파일을 내려받을 때 배포 페이지에 “SHA-256: 3a7bd3e2…” 같은 해시값이 함께 적혀 있는 경우가 많습니다. 받은 파일을 이 도구에 올려 같은 알고리즘으로 계산한 값이 그 문자열과 일치하면, 파일이 전송 중 깨지거나 다른 파일로 바뀌지 않았다는 뜻입니다. 반대로 값이 다르면 다운로드를 다시 받아야 합니다. 다만 이 확인은 파일이 악의적으로 조작되지 않았음을 보장하지는 않으며, 배포자가 공개한 해시값 자체가 조작되지 않았다는 전제 위에서 이뤄집니다.

MD5와 SHA-1: 여전히 쓰이지만 안전하지는 않다

MD5(128비트, 32자리 16진수)와 SHA-1(160비트, 40자리 16진수)은 계산 속도가 빠르고 오랫동안 쓰여 왔기 때문에 지금도 체크섬 확인에 자주 등장합니다. 하지만 둘 다 서로 다른 입력으로 같은 해시값을 만드는 “충돌”이 발견되어 있습니다. MD5는 2004년에, SHA-1은 2017년 “SHAttered” 연구로 실제 충돌 사례가 공개됐습니다. 그래서 전자서명, 인증서처럼 누군가 의도적으로 값을 조작할 수 있는 보안 상황에는 SHA-256·SHA-384·SHA-512처럼 더 긴 해시를 씁니다. 비밀번호 저장은 예외입니다. MD5·SHA-1·SHA-2·SHA-3 같은 범용 해시는 계산이 너무 빨라 비밀번호 저장에 알맞지 않으므로, Argon2id·scrypt·bcrypt처럼 일부러 느리게 만든 비밀번호 전용 해시 함수를 써야 합니다. 단순히 전송 중 손상 여부만 확인하는 체크섬이라면 MD5·SHA-1도 여전히 실용적입니다.

개인정보: 브라우저 안에서만 계산됩니다

이 도구는 WebAssembly로 만든 해시 라이브러리를 브라우저 안에서 직접 실행합니다. 텍스트든 파일이든 이 페이지 밖으로 전송되지 않고, 서버에 저장되지도 않습니다. 인터넷 연결이 끊긴 상태에서도(페이지를 한 번 불러온 뒤라면) 계속 쓸 수 있습니다.

참고 자료

자주 묻는 질문

해시(체크섬)는 어디에 쓰나요?

해시는 데이터를 고정된 길이의 문자열로 요약한 값입니다. 다운로드한 파일이 전송 중 손상되지 않았는지, 원본과 정확히 같은지 확인할 때 씁니다. 배포자가 공개한 해시값과 받은 파일의 해시값이 같으면 파일이 손상되거나 변조되지 않았다고 볼 수 있습니다.

해시는 암호화와 같은 건가요?

아닙니다. 암호화는 키가 있으면 원래 데이터로 되돌릴 수 있지만, 해시는 일방향 함수라서 결과값에서 원본을 복원할 수 없습니다. 같은 입력은 항상 같은 해시값을 내고, 입력이 한 글자만 바뀌어도 결과는 완전히 달라집니다.

MD5와 SHA-1은 왜 더 이상 안전하지 않나요?

서로 다른 두 입력이 같은 해시값을 내는 "충돌"을 의도적으로 만들 수 있기 때문입니다. MD5 충돌은 2004년에, SHA-1 충돌("SHAttered")은 2017년 구글과 CWI 암스테르담이 공개적으로 시연했습니다. 그래서 전자서명이나 인증서처럼 위조를 막아야 하는 보안 용도에는 SHA-256 이상을 씁니다. 다만 단순히 파일이 손상되지 않았는지 확인하는 체크섬 용도로는 지금도 널리 쓰입니다.

이 페이지에서 계산한 파일이 서버로 전송되나요?

아니요. 파일은 이 브라우저 안에서만 읽고 해시를 계산하며, 어디로도 업로드되지 않습니다. 페이지를 한 번 불러온 뒤에는 네트워크 연결 없이도 동작하고, 페이지를 닫으면 아무것도 남지 않습니다.

사용한 오픈소스: hash-wasm (MIT)