Bộ tạo SHA512

SHA-512 tăng gấp đôi độ rộng đầu ra của SHA-256 lên 512 bit (128 ký tự hex) và thực tế chạy nhanh hơn SHA-256 trên CPU 64-bit vì các phép toán khối của nó vốn dĩ là 64-bit. Dán bất kỳ văn bản nào và bộ tạo này trả về digest hex xác định gồm 128 ký tự thường. Hãy dùng khi tiêu chuẩn hoặc giao thức của bạn quy định SHA-512: tệp shadow của Linux hiện đại ($6$ crypt), một số bộ mã hóa TLS, IPSec và các sơ đồ chữ ký hưởng lợi từ biên an toàn lớn hơn. SHA-512 là hàm băm một chiều, không phải mã hóa: không thể đảo ngược digest để lấy lại văn bản gốc.

SHA-512 khác SHA-256 ở điểm nào

  1. 1

    Nhập văn bản

    Bất kỳ chuỗi UTF-8 nào: SHA-512 độc lập với bảng mã miễn là hai bên thống nhất về cách biểu diễn byte.

  2. 2

    Kích thước khối 1024 bit

    SHA-512 xử lý các khối 128 byte (so với 64 byte ở SHA-256), đó là lý do nó nhanh hơn trên mỗi byte đối với phần cứng 64-bit.

  3. 3

    80 vòng nén

    Nhiều vòng hơn 64 vòng của SHA-256, làm việc trên tám từ 64-bit thay vì tám từ 32-bit.

  4. 4

    Sao chép digest hex 128 ký tự

    Kết quả luôn là 128 ký tự hex viết thường (512 bit). Sao chép chỉ với một cú nhấp.

SHA-512 so với SHA-256

Thuộc tính SHA-256 SHA-512
Đầu ra 256 bit / 64 hex 512 bit / 128 hex
Khối 512 bit 1024 bit
Số vòng 64 80
Kích thước từ 32 bit 64 bit
Tốc độ trên CPU 64-bit ~1,5 GB/s (có SHA-NI) ~1,2 GB/s (phần mềm)
Tốc độ trên CPU 32-bit Nhanh Chậm hơn (không có phép toán 64-bit)
Tốt nhất cho Mục đích chung Digest lưu trữ dài hạn

SHA-512 được ưu tiên ở đâu

  • Mật khẩu shadow của Linux. $6$...$... nghĩa là SHA-512-crypt với mặc định 5000 vòng (có thể điều chỉnh).
  • Cắt ngắn có kiểm soát. Một số hệ thống lưu trữ cắt SHA-512 xuống 256 bit để có “SHA-512/256”, vốn kháng lại các tấn công mở rộng độ dài.
  • SPHINCS+ và các chữ ký hậu lượng tử khác. Phụ thuộc nhiều vào SHA-512 hoặc các biến thể SHA-3.
  • Các bộ GCM của TLS 1.2. ECDHE-RSA-AES256-GCM-SHA384 dùng SHA-384 (một biến thể của SHA-512).

Kiểm tra độ dài và hex

Một digest SHA-512 luôn có 128 ký tự hex. Nếu kết quả của bạn ngắn hơn, bạn đang xem một biến thể bị cắt ngắn (SHA-512/224 hoặc SHA-512/256) hoặc một thuật toán hoàn toàn khác. Digest của chuỗi rỗng là cf83e1357eefb8bd...a538327af927da3e (128 ký tự).

Khi nào không nên dùng SHA-512

  • Khi đặc tả yêu cầu SHA-256. Thay thế là vi phạm giao thức.
  • Khi bạn cần tốc độ trên CPU 32-bit hoặc nhúng: SHA-256 thường phù hợp hơn.
  • Đối với việc băm mật khẩu đơn thuần, hãy dùng Argon2id hoặc bcrypt ngay cả khi bạn kết hợp chúng với SHA-512.

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

Nó mang lại biên an toàn lớn hơn, khoảng 2^256 so với 2^128 khối lượng công cho một va chạm, nhưng cả hai đều được xem là an toàn cho nhu cầu hiện tại và tương lai gần. Hãy chọn dựa trên mức phù hợp với giao thức và hiệu năng, chứ không dựa vào trực giác rằng “lớn hơn thì an toàn hơn”.

SHA-512 xử lý các từ 64-bit, khớp với độ rộng thanh ghi của CPU hiện đại. SHA-256 làm việc trên các từ 32-bit, nên trên CPU 64-bit nó lãng phí một nửa thanh ghi. Tuy nhiên, các phần mở rộng SHA-NI của Intel/AMD tăng tốc SHA-256 và có thể đảo ngược kết quả này.

Không. SHA-512/256 là một thuật toán riêng, với hằng số khởi tạo khác và đầu ra 256 bit. Nó không giống việc cắt ngắn đầu ra của công cụ này xuống 64 ký tự hex.

Trên máy chủ của chúng tôi. Văn bản của bạn được gửi qua kết nối được mã hóa, được băm bằng hàm SHA-512 tiêu chuẩn, và digest 128 ký tự được trả về. Chúng tôi không lưu những gì bạn gửi. SHA-512 là một chiều, nên digest không thể đảo ngược hay giải mã trở lại thành đầu vào của bạn.

Công cụ liên quan

Công cụ này có phiên bản bằng các ngôn ngữ khác