Trình tạo Hash SHA-512

Tạo hash SHA-512 từ bất kỳ văn bản nào

Văn bản nhập

Chạy cục bộ · An toàn để dán thông tin bí mật

Hash SHA-512

Hash SHA-512 sẽ xuất hiện ở đây…

SHA-512 Hashing là gì?

SHA-512 là hàm băm mật mã được định nghĩa trong NIST FIPS 180-4 là thành viên lớn nhất của họ SHA-2. Hàm này chấp nhận đầu vào có độ dài tùy ý và tạo ra message digest cố định 512-bit (64 byte), hiển thị dưới dạng chuỗi thập lục phân 128 ký tự. SHA-512 được sử dụng trong chữ ký số (Ed25519 dùng SHA-512 nội bộ), cấu trúc HMAC, kiểm tra tính toàn vẹn tệp và các giao thức mật mã cần biên độ bảo mật rộng.

SHA-512 xử lý trên các khối 1024-bit (128 byte) sử dụng phép toán từ 64-bit và 80 vòng nén. Tám giá trị băm ban đầu được dẫn xuất từ phần thập phân của căn bậc hai của 8 số nguyên tố đầu tiên, và 80 hằng số vòng đến từ căn bậc ba của 80 số nguyên tố đầu tiên. Vì sử dụng các phép toán 64-bit gốc, SHA-512 thường nhanh hơn SHA-256 trên các bộ xử lý 64-bit hiện đại, dù tạo ra digest dài hơn.

SHA-384, SHA-512/224 và SHA-512/256 đều là các biến thể rút gọn của SHA-512, chia sẻ cùng cấu trúc nội bộ nhưng dùng các giá trị băm ban đầu khác nhau và xuất ra ít bit hơn. Khi cần độ dài digest tối đa mà họ SHA-2 cung cấp, hoặc khi giao thức yêu cầu SHA-512 (như Ed25519 hoặc một số sơ đồ dẫn xuất khóa dựa trên HMAC), SHA-512 là lựa chọn phù hợp. Nó cung cấp 256-bit kháng va chạm, tương đương SHA-3-512 và vượt xa giới hạn 128-bit của SHA-256.

Tại sao dùng công cụ tạo SHA-512 trực tuyến?

Thông thường, tính toán hash SHA-512 đòi hỏi lệnh terminal hoặc vài dòng code. Công cụ trên trình duyệt này cho phép bạn tạo digest SHA-512 ngay lập tức mà không cần cài đặt phần mềm, chuyển sang terminal hay viết script tạm.

Tính toán tức thì trong trình duyệt
Dán hoặc nhập bất kỳ văn bản nào và nhận hash SHA-512 đầy đủ 128 ký tự ngay lập tức. Web Crypto API xử lý phép tính trực tiếp mà không cần thư viện JavaScript nào.
🔒
Băm ưu tiên quyền riêng tư
Dữ liệu đầu vào của bạn không bao giờ rời khỏi thiết bị. Toàn bộ quá trình băm chạy cục bộ qua Web Crypto API tích hợp sẵn của trình duyệt. Không có dữ liệu nào được gửi đến máy chủ, ghi nhật ký hay lưu trữ.
📋
Định dạng đầu ra sẵn sàng để sao chép
Lấy hash SHA-512 ở dạng hex chữ thường hoặc chữ hoa chỉ với một cú nhấp. Hữu ích khi khớp checksum từ trình quản lý gói, tệp kê khai SBOM hoặc tài liệu bảo mật.
🔍
Không cần tài khoản hay cài đặt
Hoạt động trên mọi trình duyệt hiện đại — Chrome, Firefox, Safari, Edge. Không cần đăng ký, không cần tiện ích mở rộng, không cần thiết lập CLI. Mở trang và bắt đầu băm.

Các trường hợp sử dụng công cụ tạo Hash SHA-512

Lập trình viên Frontend — Gỡ lỗi chữ ký Ed25519
Ed25519 dùng SHA-512 nội bộ để dẫn xuất khóa ký và tính toán message digest. Tạo hash SHA-512 của các payload thử nghiệm để xác minh các giá trị trung gian khi triển khai hoặc gỡ lỗi luồng chữ ký Ed25519.
Kỹ sư Backend — Xác thực HMAC-SHA512
Các hệ thống webhook và sơ đồ xác thực API (OAuth 1.0a, một số cổng thanh toán) dùng HMAC-SHA512 để ký thông điệp. Tính toán hash SHA-512 tham chiếu để kiểm tra chéo triển khai HMAC của bạn trong quá trình phát triển.
DevOps — Xác minh artifact và binary
Xác minh checksum SHA-512 của các binary đã tải xuống, ảnh container hoặc firmware trước khi triển khai vào môi trường production. Nhiều bản phân phối Linux cung cấp checksum SHA-512 cùng với ảnh ISO.
Kỹ sư QA — Xác thực vector kiểm tra FIPS 180-4
Kiểm tra chéo đầu ra SHA-512 với các vector kiểm tra NIST từ Chương trình Xác thực Thuật toán Mật mã (CAVP) để xác nhận rằng triển khai băm của bạn xử lý đúng phần đệm và các trường hợp biên.
Kỹ sư Dữ liệu — Lấy dấu vân tay khóa lớn
Băm các khóa tổng hợp hoặc payload bản ghi lớn với SHA-512 để tạo dấu vân tay xác định cho việc loại bỏ trùng lặp trong pipeline dữ liệu. Đầu ra 512-bit giảm thiểu rủi ro va chạm ngay cả với hàng tỷ bản ghi.
Sinh viên — Khám phá hiệu ứng tuyết lở
Thay đổi một ký tự trong đầu vào và quan sát toàn bộ đầu ra SHA-512 gồm 128 ký tự thay đổi không thể đoán trước. Điều này minh họa tính chất tuyết lở khiến các hàm băm hữu ích trong mật mã học.

So sánh các biến thể họ SHA-2

SHA-512 thuộc họ SHA-2 được định nghĩa trong FIPS 180-4. Bảng dưới đây so sánh các biến thể SHA-2 chia sẻ kiến trúc nội bộ 64-bit của SHA-512, cùng với SHA-256 để tham chiếu.

Biến thểKích thước DigestĐộ dài HexKích thước BytePhù hợp nhất cho
SHA-256256 bits64 hex chars32 bytesTLS certificates, blockchain, JWTs, SRI
SHA-384384 bits96 hex chars48 bytesTLS 1.3 CertificateVerify, CNSA/Suite B
SHA-512512 bits128 hex chars64 bytesDigital signatures, HMAC, Ed25519, file integrity
SHA-512/224224 bits56 hex chars28 bytesSHA-512 speed on 64-bit CPUs, 224-bit output
SHA-512/256256 bits64 hex chars32 bytesSHA-512 speed on 64-bit CPUs, 256-bit output

SHA-512 vs SHA-256 vs SHA-384 vs SHA-3-512

Thuật toán băm phù hợp phụ thuộc vào yêu cầu bảo mật, ràng buộc hiệu suất và đặc tả giao thức của bạn. SHA-512 cung cấp digest rộng nhất trong họ SHA-2 và thường nhanh hơn SHA-256 trên phần cứng 64-bit. Bảng so sánh này bao gồm các thuộc tính quan trọng nhất khi lựa chọn giữa chúng.

Thuộc tínhSHA-512SHA-256SHA-384SHA-3-512
Digest size512 bits (128 hex)256 bits (64 hex)384 bits (96 hex)512 bits (128 hex)
Block size1024 bits512 bits1024 bits1600 bits (sponge)
Word size64 bits32 bits64 bitsN/A (sponge)
Rounds80648024
Collision resistance2^256 operations2^128 operations2^192 operations2^256 operations
Security statusSecureSecureSecureSecure
StandardFIPS 180-4FIPS 180-4FIPS 180-4FIPS 202
Web Crypto APIYesYesYesNo
64-bit optimizedYesNo (32-bit words)YesYes
Primary use todayEd25519, HMAC, file checksumsTLS, blockchain, SRITLS 1.3, CNSABackup standard

SHA-512 hoạt động bên trong như thế nào?

SHA-512 xử lý đầu vào qua cấu trúc Merkle–Damgård sử dụng các khối 1024-bit. Hàm khởi tạo tám từ trạng thái 64-bit (H0–H7) từ phần thập phân của căn bậc hai của 8 số nguyên tố đầu tiên. Mỗi khối qua 80 vòng trộn sử dụng các phép toán bitwise (AND, XOR, NOT, xoay phải, dịch phải) trên các từ 64-bit, kết hợp với 80 hằng số vòng từ căn bậc ba của 80 số nguyên tố đầu tiên.

Input: "hello world"
SHA-512: 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f
989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f
(512 bits = 64 bytes = 128 hex characters)
BướcMô tả
PaddingAppend a 1-bit, then zeros until the message length is 896 mod 1024. Append the original length as a 128-bit big-endian integer.
Block splittingDivide the padded message into 1024-bit (128-byte) blocks.
Message scheduleExpand each 16-word (64-bit) block into 80 words using sigma functions with right-rotate and right-shift operations on 64-bit values.
CompressionProcess 80 rounds per block using Ch, Maj, and two Sigma functions with 80 round constants derived from the cube roots of the first 80 primes.
OutputConcatenate the eight 64-bit state words (H0–H7) into a 512-bit (64-byte) digest, rendered as 128 hexadecimal characters.

Kích thước từ 64-bit là điểm khác biệt chính so với SHA-256. Trên CPU 64-bit, mỗi phép toán xử lý gấp đôi số bit mỗi chu kỳ, đó là lý do SHA-512 thường vượt trội SHA-256 trong benchmark dù chạy 80 vòng thay vì 64. Hiệu ứng tuyết lở đảm bảo rằng lật một bit đầu vào sẽ thay đổi khoảng 50% tổng số 512 bit đầu ra.

Ví dụ code SHA-512

SHA-512 được hỗ trợ nguyên bản trong mọi ngôn ngữ và môi trường thực thi chính. Web Crypto API cung cấp nó trong trình duyệt mà không cần thư viện nào. Các ví dụ dưới đây bao gồm các mẫu phổ biến bao gồm xử lý Unicode và băm tệp.

JavaScript (Web Crypto API)
// Works in all modern browsers and Node.js 18+
async function sha512(text) {
  const data = new TextEncoder().encode(text)
  const hashBuffer = await crypto.subtle.digest('SHA-512', data)
  const hashArray = Array.from(new Uint8Array(hashBuffer))
  return hashArray.map(b => b.toString(16).padStart(2, '0')).join('')
}

await sha512('hello world')
// → "309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f"

// Node.js (built-in crypto module)
const crypto = require('crypto')
crypto.createHash('sha512').update('hello world').digest('hex')
// → "309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f"
Python
import hashlib

# Basic SHA-512 hash
result = hashlib.sha512(b'hello world').hexdigest()
print(result)
# → "309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee..."

# Hash a string with Unicode (encode to bytes first)
text = 'café ☕'
hashlib.sha512(text.encode('utf-8')).hexdigest()
# → 128-character hex string

# Hash a large file in chunks (memory-efficient)
with open('release.tar.gz', 'rb') as f:
    sha = hashlib.sha512()
    for chunk in iter(lambda: f.read(8192), b''):
        sha.update(chunk)
    print(sha.hexdigest())
Go
package main

import (
    "crypto/sha512"
    "fmt"
)

func main() {
    data := []byte("hello world")
    hash := sha512.Sum512(data)
    fmt.Printf("%x\n", hash)
    // → 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f...
}
CLI (Linux / macOS)
# Using sha512sum (Linux) or shasum (macOS)
echo -n "hello world" | sha512sum
# → 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee...  -

# macOS
echo -n "hello world" | shasum -a 512
# → 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee...  -

# Verify a file checksum
echo "309ecc48...  myfile.bin" | sha512sum -c
# → myfile.bin: OK

# Using openssl (cross-platform)
echo -n "hello world" | openssl dgst -sha512
# → SHA2-512(stdin)= 309ecc489c12d6eb4cc40f50c902f2b4...

Câu hỏi thường gặp

SHA-512 có bảo mật hơn SHA-256 không?
SHA-512 cung cấp 256-bit kháng va chạm so với 128-bit của SHA-256, dựa trên giới hạn tấn công birthday bằng nửa độ dài digest. Đối với kháng tiền ảnh, SHA-512 cung cấp 512-bit so với 256-bit. Cả hai đều được coi là an toàn trước tất cả các cuộc tấn công đã biết tính đến năm 2026, nhưng SHA-512 cung cấp biên độ an toàn lớn hơn. Trong thực tế, kháng va chạm 128-bit của SHA-256 đã vượt xa những gì khả thi về mặt tính toán để phá vỡ.
SHA-512 có chậm hơn SHA-256 không?
Trên bộ xử lý 64-bit, SHA-512 thường nhanh hơn SHA-256 vì hoạt động trên các từ 64-bit gốc. Trên hệ thống 32-bit hoặc nhúng, SHA-512 chậm hơn vì mỗi phép toán 64-bit phải được mô phỏng bằng nhiều lệnh 32-bit. Đối với hầu hết CPU máy tính để bàn, máy chủ và di động hiện đại (đều 64-bit), SHA-512 cung cấp thông lượng tương đương hoặc tốt hơn SHA-256.
Sự khác biệt giữa SHA-512 và SHA-512/256 là gì?
SHA-512/256 dùng cùng thuật toán nội bộ với SHA-512 (khối 1024-bit, 80 vòng, từ 64-bit) nhưng bắt đầu với các giá trị băm ban đầu khác và rút gọn đầu ra xuống còn 256-bit. Điều này cho bạn tốc độ của SHA-512 trên phần cứng 64-bit với đầu ra có kích thước bằng SHA-256. SHA-512/256 cũng vốn dĩ kháng các cuộc tấn công mở rộng độ dài vì việc rút gọn loại bỏ trạng thái nội bộ mà kẻ tấn công cần.
Tại sao Ed25519 dùng SHA-512?
Sơ đồ chữ ký Ed25519 dùng SHA-512 ở hai nơi: đầu tiên để dẫn xuất scalar ký 256-bit và tiền tố nonce từ seed khóa riêng 32 byte, sau đó để băm thông điệp khi ký. SHA-512 được chọn vì nó tạo ra đầu ra 512-bit có thể chia thành hai nửa 256-bit, và các phép toán 64-bit của nó phù hợp với phép toán đường cong 255-bit của Curve25519.
SHA-512 có thể bị đảo ngược để khôi phục đầu vào gốc không?
Không. SHA-512 là hàm một chiều với 512-bit kháng tiền ảnh. Không có phương pháp đã biết nào để khôi phục đầu vào nhanh hơn tìm kiếm brute-force qua 2^512 khả năng — một con số lớn hơn số nguyên tử ước tính trong vũ trụ quan sát được. Tuy nhiên, các đầu vào ngắn hoặc có thể đoán trước có thể được tìm thấy bằng tấn công từ điển, đó là lý do tại sao mật khẩu nên dùng các KDF chuyên dụng như bcrypt hoặc Argon2 thay vì SHA-512 trực tiếp.
SHA-512 có được hỗ trợ trong Web Crypto API không?
Có. Tất cả các trình duyệt hiện đại triển khai SHA-512 qua crypto.subtle.digest('SHA-512', data). Đây là API được công cụ này sử dụng. Nó cũng có sẵn trong Node.js 18+, Deno và Bun. Web Crypto API trả về một ArrayBuffer mà bạn chuyển đổi thành chuỗi hex bằng cách ánh xạ mỗi byte sang biểu diễn thập lục phân hai ký tự tương ứng.
Khi nào nên dùng SHA-512 thay vì SHA-256?
Dùng SHA-512 khi giao thức yêu cầu (Ed25519, một số sơ đồ HMAC), khi cần hơn 128-bit kháng va chạm, hoặc khi chạy trên phần cứng 64-bit và muốn thông lượng tối đa. SHA-512 cũng được ưu tiên cho checksum tính toàn vẹn tệp khi digest dài hơn được chấp nhận, vì không gian băm rộng hơn giảm xác suất va chạm ngẫu nhiên trong các tập dữ liệu rất lớn. Đối với hầu hết ứng dụng web, API và TLS, SHA-256 vẫn là mặc định tiêu chuẩn.