해시 생성기
MD5, SHA-1, SHA-256 해시값을 생성합니다.
개요
입력 텍스트의 MD5, SHA-1, SHA-256, SHA-512 등 다양한 해시 값을 생성합니다. 데이터 무결성 검증, 파일 체크섬 확인, 비밀번호 저장 등에 활용됩니다.
계산 공식
해시 함수는 임의 길이의 입력을 고정 길이의 출력으로 변환하는 단방향 함수입니다. MD5: 128비트(32자 hex) 출력, Merkle-Damgard 구조. SHA-1: 160비트(40자 hex) 출력. SHA-256: 256비트(64자 hex) 출력, SHA-2 계열, 메시지를 512비트 블록으로 분할하고 64라운드 압축 함수를 적용합니다. SHA-512: 512비트(128자 hex) 출력. 동일 입력은 항상 동일 해시를 생성하며, 해시에서 원본을 역추적하는 것은 계산적으로 불가능합니다.
사용 방법
- 1해시 알고리즘(MD5, SHA-1, SHA-256, SHA-512)을 선택합니다.
- 2텍스트를 입력합니다.
- 3생성된 해시 값이 즉시 표시됩니다.
- 4해시 값을 복사합니다.
활용 팁
- ✔MD5와 SHA-1은 충돌 취약성이 발견되어 보안 목적으로는 SHA-256 이상을 사용하세요.
- ✔비밀번호 저장에는 일반 해시 대신 bcrypt, scrypt, Argon2 같은 키 스트레칭 알고리즘을 사용하세요.
- ✔파일 다운로드 시 제공된 체크섬과 비교하면 파일 무결성을 검증할 수 있습니다.
- ✔동일한 입력에 소금(salt)을 추가하면 레인보우 테이블 공격을 방지할 수 있습니다.
자주 묻는 질문
Q. 해시와 암호화의 차이는 무엇인가요?
해시는 단방향 함수로 원본 복원이 불가능합니다. 암호화는 양방향으로 키를 사용하여 원본을 복원할 수 있습니다. 해시는 무결성 검증에, 암호화는 기밀성 보장에 사용됩니다.
Q. MD5는 왜 안전하지 않나요?
MD5는 충돌 공격(서로 다른 두 입력이 같은 해시를 생성)이 실질적으로 가능한 것으로 밝혀졌습니다. 체크섬이나 비보안 용도에는 사용 가능하지만, 디지털 서명이나 인증서 등 보안 용도에는 사용해서는 안 됩니다.
Q. 해시 충돌이란 무엇인가요?
서로 다른 두 개의 입력이 동일한 해시 값을 생성하는 현상입니다. 이론적으로 모든 해시 함수에서 충돌이 존재하지만(비둘기집 원리), 좋은 해시 함수는 충돌을 찾는 것이 계산적으로 매우 어렵습니다.