SHA-512 해시 생성기 (512비트 SHA-2)
SHA-512 해시를 브라우저에서 생성합니다. 128자리 16진수, 64비트 CPU에서 더 빠름, 아카이브·LUKS·HMAC용. 미전송.
SHA-512란 무엇인가요?
SHA-512(Secure Hash Algorithm, 512비트)는 SHA-2 계열의 전체 너비 구성원으로, NIST가 2001년 FIPS 180-2에서 발표했습니다. 텍스트, 파일, 바이트 스트림 등 어떤 입력이든 받아 고정된 512비트(128자리 16진수) 지문을 만듭니다. SHA-512는 형제 알고리즘과 동일한 Merkle-Damgård 구조를 공유하지만 1024비트 입력 블록에서 80개의 압축 라운드와 64비트 워드 산술로 작동합니다.
64비트 성능 이점: 현대 x86-64와 ARM64 하드웨어에서 SHA-512의 64비트 워드 연산은 CPU 레지스터 너비에 직접 매핑됩니다. SHA-256의 32비트 연산은 같은 데이터를 처리하기 위해 추가 패스가 필요합니다. 실용적 결과: SHA-512는 64비트 CPU에서 일반적으로 SHA-256보다 빠릅니다. 브라우저에서 일반적으로 600~1,000 MB/s 대 400~700 MB/s입니다.
충돌 저항성: SHA-512는 SHA-256의 128비트보다 두 배인 256비트의 충돌 저항성을 제공합니다. 기관 아카이브, 장기 디지털 서명, 군사급 시스템이 SHA-512를 선호하는 이유입니다. 30~50년간 변조 방지 상태여야 하는 데이터는 미래 암호해독 발전과 양자 컴퓨팅에 대한 추가 여유(그루버 알고리즘은 효율 보안 수준을 절반으로 줄여 256비트 프리이미지 저항성을 남김)를 얻습니다.
주요 사용 사례: LUKS 디스크 암호 키 도출(PBKDF2-SHA-512는 LUKS2 기본값), Apple HFS+ 파일시스템 무결성 체크섬, 고보증 API와 하드웨어 보안 모듈에서의 HMAC-SHA-512, HKDF-SHA-512 키 확장, 정부 및 기관 기록의 장기 아카이브 매니페스트.
이 도구는 crypto.subtle.digest('SHA-512', ...)를 통해 브라우저 내부에서 SHA-512를 완전히 계산합니다. 출력은 sha512sum, openssl dgst -sha512, Python의 hashlib.sha512()와 비트 단위로 동일합니다.
관련 도구: SHA-256 생성기(64자리, 128비트 충돌 저항성, 32비트에서 가장 빠름), SHA-384 생성기(96자리, Suite B TLS, 길이 확장 면역), SHA-3 생성기(Keccak 스폰지 구조 — SHA-2와 완전히 다른 설계).
// Hash text using Web Crypto API (SHA-512)
async function sha512(text) {
const data = new TextEncoder().encode(text);
const hash = await crypto.subtle.digest('SHA-512', data);
return Array.from(new Uint8Array(hash))
.map(b => b.toString(16).padStart(2, '0'))
.join('');
}
await sha512('Hello, World!');
// → '374d794a95cdcfd8b35993185fef9ba368f160d8daf432d08ba9f1ed1e5abe6cc69291e0fa2fe0006a52570ef18c19def4e617c33ce52ef0a6e5fbe318cb0387' SHA-512 예시
LUKS 암호 볼륨 키 도출
PBKDF2-SHA-512 passphrase for disk encryption
LUKS(Linux Unified Key Setup)는 PBKDF2-SHA-512를 사용해 패스프레이즈에서 볼륨 마스터 키를 도출합니다. 반복적 해싱(현대 하드웨어에서 일반적으로 100,000~500,000라운드)은 무차별 대입 공격을 비싸게 만들고 512비트 출력은 AES-256-XTS에 충분한 엔트로피를 제공합니다. SHA-512는 더 큰 내부 상태(1024비트 블록)와 64비트 워드 연산이 현대 CPU 레지스터 너비와 일치해 의도적으로 느린 PBKDF2 라운드 중 더 나은 처리량을 제공하기 때문에 LUKS 키 도출에 SHA-256보다 선호됩니다.
Apple HFS+ 파일시스템 체크섬
Apple HFS+ catalog node data
Apple의 HFS+ 파일시스템은 카탈로그 B-트리 노드와 저널 레코드의 무결성을 검증하기 위해 내부적으로 SHA-512 체크섬을 사용합니다. macOS가 파일시스템 검사(fsck_hfs)를 수행할 때 주요 온디스크 구조의 SHA-512 지문을 재계산하고 저장된 값과 비교합니다. SHA-512 구현이 macOS 커널의 crypto.subtle 경로와 동일한 출력을 만드는지 확인하는 실용적인 플랫폼 간 온전성 검사에 유용합니다.
장기 아카이브 무결성 (NIST 아카이브 문서)
NIST SP 800-57 Part 1 Rev 5 — Recommendation for Key Management
20~50년 보존 기간의 문서를 아카이브하는 기관(정부, 법률, 금융, 과학)은 미래 암호해독과 컴퓨팅 발전에 대한 더 큰 안전 마진을 제공하기 때문에 SHA-256보다 SHA-512를 선호합니다. NIST 자체 암호 권고 아카이브는 문서 매니페스트에 SHA-512를 사용합니다. 오늘 저장한 SHA-512 해시는 2075년 이후에도 유효합니다. 양자 컴퓨터도 그루버 알고리즘으로 최대 효율 보안 수준을 절반으로 줄일 뿐이어서 256비트 프리이미지 저항성은 그대로입니다.
HMAC-SHA-512 메시지 인증
POST /api/v3/ledger
Content-Type: application/json
{"amount":500000,"from":"acct-A","to":"acct-B"} HMAC-SHA-512는 광범위한 라이브러리 지원(OpenSSL, libsodium, Node.js crypto, Python hashlib)을 가진 가장 강력한 표준 키 MAC입니다. 512비트 값에서 도출된 HMAC 키(예: 512비트 마스터 비밀에서 도출)를 가진 고가치 금융 API, 하드웨어 보안 모듈(HSM), 시스템에서 HMAC-SHA-256보다 선호됩니다. 인증 헤더의 128자리 16진수 다이제스트는 지속적인 GPU 리소스를 가진 공격자에게도 변조를 계산상 불가능하게 만듭니다.
SHA-512 해시 생성 방법
- 1
텍스트 붙여넣기 또는 파일 끌어다 놓기
텍스트 탭을 선택하고 입력란에 임의의 문자열을 붙여넣으면 128자리 SHA-512 해시가 실시간으로 갱신됩니다. 파일은 파일 탭으로 전환해 끌어다 놓으면 업로드 없이 Web Crypto API를 사용해 로컬에서 해싱됩니다. 큰 파일(>10 MB)은 진행 표시기가 나타납니다.
- 2
128자리 해시 복사
해시 출력 옆의 복사 버튼을 클릭하십시오. 128자리 소문자 16진수 문자열이 클립보드에 복사됩니다. 설정 파일, 매니페스트, API 호출에 붙여넣을 준비가 됩니다. 대상 시스템이 대문자를 요구한다면 대문자 토글을 사용하십시오.
- 3
비교 탭으로 검증
비교 탭으로 전환해 두 SHA-512 해시를 나란히 붙여넣으십시오. 도구는 타이밍 정보를 누출하지 않는 상수 시간 비교로 일치 또는 불일치를 보고합니다. 시스템 간 LUKS 키 도출 출력 검증, HMAC-SHA-512 다이제스트 확인, 저장된 매니페스트 대비 장기 아카이브 지문 확인에 유용합니다.
기술 세부사항
- 알고리즘: 1024비트 블록, 80라운드, 64비트 워드
- SHA-512는 입력을 1024비트(128바이트) 블록으로 처리하며, 처음 80개 소수의 세제곱근에서 도출된 상수와 함께 80라운드의 비트 연산(64비트 회전과 시프트를 사용한 Ch, Maj, Σ0, Σ1 함수)을 적용합니다. 내부 상태는 여덟 개의 64비트 워드(512비트)로 구성됩니다. 이것은 SHA-384와 동일한 구조이며, SHA-384와 SHA-512의 유일한 차이는 초기화 벡터와 SHA-512가 출력의 512비트 전체를 유지한다는 것입니다.
- 출력: 512비트, 128자리 16진수
- 항상 정확히 [0-9a-f](소문자) 또는 [0-9A-F](대문자) 범위의 128자리입니다. 입력 크기와 관계없이 고정 길이입니다. 512비트에서 이것은 SHA-2 계열 중 가장 긴 출력으로 256비트의 충돌 저항성을 제공합니다. 2050년 이후에도 변조 방지 상태를 유지해야 하는 데이터의 표준 권장 사항입니다.
- 성능: 64비트 하드웨어에서 SHA-256보다 빠름
- x86-64와 ARM64 CPU에서 SHA-512는 64비트 네이티브 연산으로 1024비트 블록을 처리해 Web Crypto API(브라우저)에서 약 600~1,000 MB/s, 하드웨어 SHA 확장이 있는 네이티브 도구에서 1~4 GB/s를 제공합니다. SHA-256은 32비트 연산으로 512비트 블록을 처리해 약 400~700 MB/s로 더 작은 출력 크기에도 불구하고 느립니다. 32비트 하드웨어에서는 관계가 역전됩니다.
- 표준: FIPS 180-4, NIST SP 800-107, RFC 6234
- FIPS 180-2(2001)에서 표준화되었고 현재 버전은 FIPS 180-4(2015)입니다. NIST SP 800-131A Rev 2에 따라 2030년 이후까지 모든 보안 강도 수준에 대해 NIST가 승인했습니다. RFC 6234, RFC 5869(HKDF), RFC 2898(PBKDF2)에 참조되어 있습니다. 장기 보안을 위한 CNSA Suite에 유지되었으며, NIST IR 8105는 양자 후 보안 마진이 필요한 애플리케이션에 SHA-512를 권장합니다.
모범 사례
- 128비트를 초과하는 충돌 저항성이 필요할 때 SHA-512 선호
- 파일 체크섬, Git 객체, JWT 서명, TLS 인증서 지문 등 일상적인 용도에는 SHA-256이 표준입니다. 다음 경우에 SHA-512로 업그레이드하십시오: (1) 데이터가 20년 이상 변조 방지 상태여야 할 때, (2) 프로토콜이 256비트 보안 강도를 지정할 때, 또는 (3) 64비트 하드웨어에서 SHA-512의 성능 이점이 더 강력한 옵션 사용의 장벽을 제거할 때. 현대 서버와 브라우저에서 성능 차이는 SHA-512에 유리하므로 새 64비트 애플리케이션에 사용하지 않을 이유가 거의 없습니다.
- 키 메시지 인증에 HMAC-SHA-512 사용
- API 요청 인증, 토큰 서명, 공유 비밀로 메시지 무결성 검증 같은 키 MAC이 필요할 때 커스텀 구조 대신 HMAC-SHA-512를 사용하십시오. HMAC는 SHA-512를 길이 확장 공격과 관련 키 약점에도 안전한 검증된 구조(RFC 2104)로 래핑합니다. 키를 메시지와 직접 연결하지 마십시오(HASH(key || message)). 원시 SHA-512에 대한 길이 확장 공격에 취약합니다.
- SHA-2 속도와 길이 확장 면역성을 위한 SHA-512/256
- 사용 사례에 길이 확장 면역성과 SHA-2 라이브러리 호환성이 필요하다면(SHA-3 아닌) 순수 SHA-256 대신 SHA-512/256(FIPS 180-4 섹션 5.3.6)을 고려하십시오. SHA-512/256은 SHA-512의 빠른 64비트 산술을 사용하지만 고유한 IV로 출력을 256비트로 잘라내어 길이 확장 저항성을 제공합니다. 64비트 하드웨어에서 SHA-256보다 빠르고 동일한 128비트 충돌 저항성을 제공합니다. 주의: 라이브러리 지원이 SHA-256이나 SHA-512보다 덜 보편적이므로 주변에 설계하기 전에 대상 런타임이 구현하는지 확인하십시오.
- 코드에서 SHA-512 해시 검증 시 상수 시간 비교 사용
- 코드에서 두 SHA-512 해시를 비교할 때 상수 시간 동등 함수를 사용하십시오: Node.js의
crypto.timingSafeEqual(), Python의hmac.compare_digest(), Go의subtle.ConstantTimeCompare(). 단순 문자열 동등 비교(=== 또는 ==)는 타이밍 정보를 누출합니다. 공격자는 많은 요청을 하며 예상 해시를 약 1,024번의 비교(128자리 × 8비트)로 바이트 단위로 재구성할 수 있습니다. 이 도구의 비교 탭은 이미 상수 시간 비교를 사용합니다.
SHA-512 자주 묻는 질문
SHA-256 대신 SHA-512를 사용하는 이유는 무엇인가요?
SHA-512가 SHA-256보다 빠른가요?
SHA-512 해시의 길이는 얼마인가요?
SHA-512 잘라내기(SHA-512/256)는 안전한가요?
SHA-512를 비밀번호 저장에 사용해야 하나요?
SHA-512는 양자 저항성이 있나요?
입력 데이터가 서버로 전송되나요?
crypto.subtle.digest('SHA-512', data))를 사용해 브라우저 내부에서 완전히 계산됩니다. 해싱하는 동안 DevTools → 네트워크 탭을 열면 외부 요청이 전혀 없음을 확인할 수 있습니다. 파일 탭에서 끌어다 놓은 파일은 FileReader API로 읽혀 로컬에서 해싱됩니다. 민감한 문서, 개인 키, 기밀 데이터 해싱에 안전하게 사용할 수 있습니다. 짧은 입력에서 SHA-512가 타이밍을 누출하나요?
crypto.timingSafeEqual(), Python의 hmac.compare_digest())를 사용하십시오. 관련 도구
모든 도구 보기 →JWT 디코더 (JWT Decoder)
보안 도구
무료 JWT 디코더로 JWT 토큰을 온라인에서 즉시 디코딩. 헤더, 페이로드, 서명, 만료, 클레임 확인. 100% 브라우저 기반 — 토큰이 기기를 떠나지 않음. 가입·추적 없음.
MD5 해시 생성기 · 파일 체크섬 도구
보안 도구
MD5, SHA-256, SHA-1, SHA-512 해시를 온라인에서 무료로 생성합니다. 브라우저에서 텍스트나 파일을 해싱하고 체크섬을 검증하며 결과를 복사할 수 있습니다.
무작위 비밀번호 생성기 (Random Password Generator)
보안 도구
강력한 무작위 비밀번호를 즉시 만드는 무료 온라인 도구. 길이와 문자 종류를 지정해 최대 50개까지 일괄 생성하고 엔트로피 분석을 확인할 수 있습니다.
SHA-1 해시 생성기 (160비트 레거시)
보안 도구
SHA-1 해시를 브라우저에서 무료로 생성합니다. 40자리 16진수 출력, 업로드 없음. Git 지문 조회, 구형 인증서 검사, 마이그레이션 감사용 레거시 도구입니다.
SHA-256 해시 생성기 및 체크섬 도구
보안 도구
SHA-256 해시를 브라우저에서 생성·검증합니다. 64자리 16진수 출력, 파일·텍스트 지원. 가입 불필요, 데이터 미전송.
SHA-3 해시 생성기 (Keccak SHA3-256)
보안 도구
SHA-3(NIST FIPS 202 Keccak) 해시를 브라우저에서 생성합니다. 64자리 16진수 SHA3-256, js-sha3 지연 로딩. 미전송.