MD5 SHA-256 해시 생성기 | 텍스트·파일 무결성 검증

다운로드한 설치 파일이 배포 페이지에 적힌 해시값과 일치하는지 확인해본 적 있으신가요? 파일이 중간에 변조되거나 손상되지 않았는지 검증할 때 MD5나 SHA-256 같은 해시값을 대조하는 방법을 씁니다. 아래 도구에 텍스트나 파일을 넣으면 두 가지 해시값을 바로 계산해서 보여줍니다.

해시 생성기 사용해보기

텍스트를 직접 입력하거나 파일을 선택하면 MD5와 SHA-256 해시값을 동시에 계산해서 보여줍니다. 복사 버튼으로 바로 복사할 수 있습니다.

텍스트 해시 생성

파일 해시 생성

파일은 서버로 업로드되지 않고 브라우저 안에서만 처리됩니다. 큰 파일은 계산에 시간이 조금 걸릴 수 있습니다.

해시(Hash)란 무엇인가

해시는 어떤 데이터든 입력받아서 정해진 길이의 고유한 문자열로 변환해주는 함수입니다. 같은 입력이면 항상 같은 결과가 나오고, 입력이 단 한 글자만 바뀌어도 결과값은 완전히 다르게 나옵니다.

해시 함수의 특징

원본 데이터로 되돌릴 수 없는 단방향성, 같은 입력에는 항상 같은 출력이 나오는 결정성, 입력이 조금만 달라져도 결과가 완전히 달라지는 눈사태 효과가 대표적인 특징입니다. 이런 특징 덕분에 원본 데이터를 노출하지 않으면서도 데이터가 그대로인지 아닌지를 검증하는 용도로 널리 쓰입니다. 예를 들어 “Hello World”와 “Hello world”처럼 알파벳 하나만 대소문자가 달라져도 두 해시값은 겹치는 부분 없이 완전히 다르게 나옵니다.

MD5와 SHA-256, 뭐가 다를까

둘 다 널리 알려진 해시 알고리즘이지만 용도와 안전성 면에서 차이가 큽니다.

MD5는 왜 보안용으로 쓰면 안 될까

MD5는 1990년대에 만들어진 알고리즘으로, 서로 다른 두 입력값이 같은 해시값을 만들어내는 충돌 공격이 이미 실용적인 수준으로 가능하다는 것이 알려져 있습니다. 그래서 비밀번호 저장이나 전자서명처럼 보안이 중요한 곳에는 더 이상 권장되지 않고, 단순히 파일이 실수로 손상되지 않았는지 빠르게 확인하는 용도로만 주로 쓰입니다.

SHA-256이 더 안전한 이유

SHA-256은 SHA-2 계열에 속하는 알고리즘으로, 현재까지 실용적인 충돌 공격이 발견되지 않아 훨씬 안전하다고 평가받습니다. 비트코인을 비롯한 여러 블록체인, TLS 인증서, 소프트웨어 배포 검증 등 보안이 중요한 곳에서 표준처럼 쓰이고 있습니다.

구분MD5SHA-256
해시 길이128비트(32자리 16진수)256비트(64자리 16진수)
보안 안전성충돌 공격 가능, 취약현재까지 안전
주요 용도단순 무결성 체크, 캐시 키보안 검증, 전자서명, 블록체인

해시를 어디에 활용할 수 있을까

해시는 보안 분야뿐 아니라 개발 전반에서 다양하게 쓰입니다.

파일 무결성 검증

소프트웨어 배포 사이트에서는 설치 파일과 함께 해시값을 공개해두는 경우가 많습니다. 다운로드한 파일의 해시값을 직접 계산해서 공개된 값과 비교하면, 다운로드 도중 파일이 손상되었거나 중간에 변조되지는 않았는지 확인할 수 있습니다.

다운로드 파일 검증 예시

배포 페이지에 SHA-256: a1b2c3...처럼 해시값이 적혀 있다면, 다운로드한 파일을 위 도구의 파일 해시 계산에 넣어서 나온 값과 한 글자도 다르지 않게 일치하는지 확인하면 됩니다. 단 한 글자라도 다르다면 파일이 원본과 다르다는 뜻이니 다시 다운로드하시는 게 안전합니다.

비밀번호 저장 (참고용)

실제 서비스에서 비밀번호를 저장할 때는 MD5나 SHA-256을 그대로 쓰지 않고, 솔트(salt)를 추가한 bcrypt나 Argon2 같은 전용 알고리즘을 사용하는 것이 원칙입니다. 이 도구는 학습이나 파일 검증 목적으로 활용하시고, 실제 서비스 개발에서는 전용 비밀번호 해시 라이브러리를 사용하시길 권합니다.

자주 묻는 질문

같은 텍스트를 입력했는데 매번 다른 해시값이 나오나요?

아닙니다. 같은 입력에는 항상 같은 해시값이 나옵니다. 공백이나 줄바꿈처럼 눈에 잘 안 띄는 차이가 있으면 값이 달라질 수 있으니 입력값을 다시 한번 확인해보세요.

대문자로 나온 해시값과 소문자로 나온 해시값이 다른 건가요?

아닙니다. 대소문자만 다를 뿐 같은 값입니다. 비교할 때는 대소문자를 무시하고 문자 자체가 같은지만 확인하면 됩니다.

파일을 업로드하면 어딘가에 저장되나요?

아닙니다. 파일은 브라우저 안에서만 읽어서 해시를 계산하고, 서버로 전송하거나 저장하지 않습니다.

해시값 하나 확인하는 데 프로그램을 따로 설치할 필요 없이, 텍스트나 파일만 넣으면 바로 결과를 받을 수 있습니다. 중요한 파일을 다운로드했을 때는 이 도구로 한 번 검증해보는 습관을 들여보시길 권합니다. 개발 중에 캐시 키를 만들거나 데이터 변경 여부를 빠르게 확인해야 할 때도 유용하게 쓸 수 있습니다.

댓글 남기기