Bỏ qua menu, vào nội dung chính
Quay lại
Hash và HMAC

Hash Generator

SHA-1 / 256 / 384 / 512 + HMAC qua Web Crypto API native. Chạy hoàn toàn trong trình duyệt, không gửi dữ liệu lên server. Dùng cho integrity check, signing.

Input text

33 bytes·26 chars·Web Crypto API · không qua server

Hash digests

SHA-1Đang tính...0 hex
SHA-256Đang tính...0 hex
SHA-384Đang tính...0 hex
SHA-512Đang tính...0 hex

HMAC (Hash-based Message Authentication)

Nhập secret key để generate HMAC. HMAC dùng cho webhook signature (Stripe, GitHub, Slack), API authentication, message integrity.

Hash, HMAC và chỗ dùng đúng của từng thứ

Công cụ này tính gì

Web Crypto có sẵn trong trình duyệt được dùng để tính bốn giá trị băm SHA-1, SHA-256, SHA-384 và SHA-512 cho đoạn văn bản bạn gõ, cập nhật ngay theo từng phím. Nếu bạn nhập thêm một khoá bí mật thì bốn giá trị HMAC tương ứng được tính tiếp. Kích thước đầu vào hiển thị theo byte của mã hoá UTF-8, không phải theo số ký tự.

Việc đối chiếu chữ ký

Khi đối chiếu chuỗi kiểm tra của một tệp tải về với giá trị nhà phát hành công bố. Khi dựng lại chữ ký của một thông báo tự động để so với header mà cổng thanh toán hay dịch vụ kho mã nguồn gửi tới, đây là cách nhanh nhất để biết bên nào tính sai. Khi kiểm hàm ký ở phía mình có cho ra đúng chuỗi như tài liệu mô tả. Khi cần một khoá bộ nhớ đệm ổn định sinh từ một tập tham số.

Đọc chuỗi băm

Cùng đầu vào luôn cho cùng chuỗi, đổi một ký tự thì toàn bộ chuỗi khác hẳn, đó là tính chất giúp phát hiện thay đổi. Độ dài cố định theo thuật toán: SHA-256 cho 64 ký tự thập lục phân, SHA-512 cho 128. HMAC khác hàm băm thường ở chỗ có khoá bí mật tham gia, nên người ngoài không thể tự tạo ra một chữ ký hợp lệ.

Dùng sai chỗ thì hỏng gì

Hàm băm không phải mã hoá: không giải ngược được nhưng cũng không giấu nổi một chuỗi ngắn, vì kẻ tấn công chỉ cần tra bảng đã tính sẵn. Đừng lưu mật khẩu bằng SHA; việc đó cần bcrypt hoặc Argon2, những hàm cố ý chạy chậm. SHA-1 đã bị chứng minh là tạo được va chạm, chỉ nên dùng khi hệ thống cũ bắt buộc. Khi so chữ ký ở phía máy chủ phải dùng hàm so sánh có thời gian không đổi, so bằng toán tử thường sẽ lộ thông tin qua thời gian phản hồi.

Văn bản và khoá bí mật không rời trình duyệt. Web Crypto là bộ hàm mật mã dựng sẵn của trình duyệt và chạy tại chỗ; cả văn bản lẫn khoá bí mật bạn nhập đều không được gửi lên máy chủ nào.

Cần bản riêng cho doanh nghiệp bạn?

Mọi công cụ trong Lab đều do đội ngũ Alodev tự xây. Chúng tôi có thể xây phiên bản riêng - gắn thương hiệu, nối dữ liệu nội bộ, thêm tính năng theo quy trình của bạn.