Skip to content

SHA-512 해시 생성기 (512비트 SHA-2)

SHA-512 해시를 브라우저에서 생성합니다. 128자리 16진수, 64비트 CPU에서 더 빠름, 아카이브·LUKS·HMAC용. 미전송.

트래킹 없음 브라우저 실행 무료
모든 해싱은 브라우저 내부에서 로컬로 수행됩니다. 어떤 데이터도 서버로 전송되지 않습니다.
알고리즘
NIST FIPS 180-4 테스트 벡터 대조로 SHA-512 정확성 검토 완료; Web Crypto API 벤치마크 기준 64비트 성능 주장 검증 완료 — Go Tools 엔지니어링 팀 · May 28, 2026

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. 1

    텍스트 붙여넣기 또는 파일 끌어다 놓기

    텍스트 탭을 선택하고 입력란에 임의의 문자열을 붙여넣으면 128자리 SHA-512 해시가 실시간으로 갱신됩니다. 파일은 파일 탭으로 전환해 끌어다 놓으면 업로드 없이 Web Crypto API를 사용해 로컬에서 해싱됩니다. 큰 파일(>10 MB)은 진행 표시기가 나타납니다.

  2. 2

    128자리 해시 복사

    해시 출력 옆의 복사 버튼을 클릭하십시오. 128자리 소문자 16진수 문자열이 클립보드에 복사됩니다. 설정 파일, 매니페스트, API 호출에 붙여넣을 준비가 됩니다. 대상 시스템이 대문자를 요구한다면 대문자 토글을 사용하십시오.

  3. 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를 사용하는 이유는 무엇인가요?
두 가지 주요 이유: 더 큰 충돌 저항성과 64비트 하드웨어에서의 더 나은 성능. SHA-512는 SHA-256의 128비트 대비 256비트의 충돌 저항성을 제공합니다. 데이터가 수십 년간 변조 방지 상태여야 하거나 프로토콜이 최대 암호 마진을 요구할 때 의미가 있습니다. 64비트 CPU(사실상 모든 현대 하드웨어)에서 SHA-512의 64비트 워드 산술이 CPU의 네이티브 레지스터 너비와 일치하기 때문에 일반적으로 SHA-256보다 빠릅니다. 64비트 하드웨어를 사용하고 추가 마진이 필요하다면 SHA-512가 자연스러운 업그레이드입니다.
SHA-512가 SHA-256보다 빠른가요?
예, 64비트 하드웨어에서는. SHA-512는 64비트 워드 산술을 사용하고 1024비트(128바이트) 블록을 처리합니다. SHA-256은 32비트 워드와 512비트(64바이트) 블록을 사용합니다. x86-64와 ARM64 프로세서에서 네이티브 64비트 연산은 32비트 연산과 동일한 비용으로 실행되므로 SHA-512는 SHA-256 대비 클록 사이클당 약 두 배의 데이터를 해싱합니다. 전형적인 처리량: Web Crypto API를 사용하는 브라우저에서 SHA-512는 600~1,000 MB/s, SHA-256은 400~700 MB/s입니다. 32비트 하드웨어에서는 관계가 역전됩니다.
SHA-512 해시의 길이는 얼마인가요?
항상 정확히 128자리 16진수입니다. 512비트를 64바이트로 나누고 각 바이트를 2자리 16진수로 인코딩합니다. 입력 크기와 관계없이 고정 길이입니다. 단일 문자와 10 GB 파일 모두 128자리를 만듭니다. 비교: SHA-256은 64자리, SHA-384는 96자리, MD5는 32자리, SHA-1은 40자리입니다.
SHA-512 잘라내기(SHA-512/256)는 안전한가요?
예. NIST는 FIPS 180-4에서 SHA-512/256을 우회법이 아닌 의도적 설계로 일급 해시 변형으로 표준화했습니다. SHA-512/256은 SHA-512와 다른 초기화 벡터를 사용하고 출력을 256비트로 잘라냅니다. 잘라내기는 순수 SHA-256에 존재하는 길이 확장 취약점도 제거합니다. SHA-512/256은 길이 확장 공격에 대해 SHA-256보다 엄밀히 더 안전하면서 동일한 128비트 충돌 저항성을 제공하고 64비트 하드웨어에서 SHA-256보다 빠릅니다. 참고: SHA-512/256은 순수 SHA-512와 다른 알고리즘이며, 이 도구는 전체 SHA-512(128자리)를 계산합니다.
SHA-512를 비밀번호 저장에 사용해야 하나요?
아니요. SHA-512는 모든 SHA-2 변형과 마찬가지로 빠르도록 설계되었습니다. 빠르다는 것이 비밀번호 저장에는 정확히 잘못된 것입니다. 현대 GPU는 초당 수억 개의 SHA-512 해시를 계산할 수 있어 유출된 데이터베이스에 대한 무차별 대입 공격이 실용적입니다. 비밀번호에는 의도적으로 느린 알고리즘을 사용하십시오: bcrypt(2^cost 반복), scrypt(메모리 하드), 또는 Argon2id(메모리 하드, 시간 하드). 이들 중 많은 것이 내부적으로 HMAC-SHA-512를 빌딩 블록으로 사용하지만, 느린 반복이 보안을 제공합니다.
SHA-512는 양자 저항성이 있나요?
부분적으로. 양자 컴퓨터의 그루버 알고리즘은 어떤 해시 함수든 효율 보안 수준을 절반으로 줄입니다. SHA-512의 256비트 충돌 저항성은 128비트로 줄어들지만 현재 근미래 위협 모델에서는 여전히 안전합니다. 비교: SHA-256의 128비트 충돌 저항성은 64비트로 줄어 더 우려됩니다. NIST의 양자 후 지침(NIST IR 8105)은 양자 컴퓨터 공격자에 대한 장기 보안이 필요한 애플리케이션에 SHA-512(또는 SHA-3-512)를 권장합니다.
입력 데이터가 서버로 전송되나요?
아니요. SHA-512는 Web Crypto API(crypto.subtle.digest('SHA-512', data))를 사용해 브라우저 내부에서 완전히 계산됩니다. 해싱하는 동안 DevTools → 네트워크 탭을 열면 외부 요청이 전혀 없음을 확인할 수 있습니다. 파일 탭에서 끌어다 놓은 파일은 FileReader API로 읽혀 로컬에서 해싱됩니다. 민감한 문서, 개인 키, 기밀 데이터 해싱에 안전하게 사용할 수 있습니다.
짧은 입력에서 SHA-512가 타이밍을 누출하나요?
다른 해시 함수보다 더 많이 누출하지는 않습니다. SHA-512는 입력 크기와 관계없이 항상 최소 하나의 1024비트 블록을 처리합니다(Merkle-Damgård 패딩). 따라서 매우 짧은 입력의 계산 시간은 사실상 일정합니다. 타이밍 우려는 해싱 단계가 아니라 비교 단계에 있습니다. 코드에서 두 해시를 검증할 때는 항상 상수 시간 비교(Node.js의 crypto.timingSafeEqual(), Python의 hmac.compare_digest())를 사용하십시오.