Công cụ mã hóa, giải mã và tạo hash
Tạo giá trị hash MD5 và MD4 cho văn bản hoặc tệp với nhiều định dạng đầu ra
Bộ tạo hash SHA trực tuyến hỗ trợ thuật toán SHA-1, SHA-256, SHA-384, SHA-512
Mã hóa và giải mã văn bản an toàn bằng thuật toán AES
Thuật toán AES gốc với kích thước khối linh hoạt (128/192/256 bit). Hỗ trợ các chế độ CBC, ECB, CFB, OFB
Giải mã, xác minh và tạo JSON Web Token với hỗ trợ nhiều thuật toán ký
Tạo mã xác thực HMAC với thuật toán MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA3 và RIPEMD-160
Sử dụng mã hóa bất đối xứng RSA để mã hóa khóa công khai, giải mã khóa riêng, ký số và xác minh
Tạo cặp khóa Ed25519, ký tin nhắn và xác minh chữ ký bằng Thuật Toán Chữ Ký Số Đường Cong Edwards
Tạo cặp khóa ECDSA, ký tin nhắn và xác minh chữ ký với các đường cong secp256k1, P-256, P-384, P-521
Tạo cặp khóa DSA, ký và xác minh tin nhắn bằng Thuật Toán Chữ Ký Số FIPS 186 (đã ngừng hỗ trợ, chỉ xác minh được phê duyệt trong FIPS 186-5)
Mã hóa và giải mã sử dụng thuật toán DES và 3DES với nhiều chế độ và tùy chọn đệm
Mã hóa khối đối xứng nhanh do Bruce Schneier thiết kế, hỗ trợ độ dài khóa biến đổi (32-448 bit)
Ứng viên AES, mã hóa đối xứng với khối 128-bit và khóa 128/192/256-bit, do Bruce Schneier thiết kế
Mã hóa khối đối xứng với độ dài khóa biến đổi (40-128 bit), được sử dụng rộng rãi trong mã hóa PGP, tuân thủ RFC 2144
Thuật toán thi đấu AES có khóa 128/192/256 bit, 32 vòng, cung cấp biên độ an toàn xuất sắc và khả năng kháng lại phân tích mật mã
Mật mã khối ứng cử viên AES của Úc với khối 128 bit và khóa 128/192/256 bit, thiết kế mạng Feistel 16 vòng
International Data Encryption Algorithm với khóa 128-bit và khối 64-bit, lịch sử được sử dụng trong PGP
Họ Tiny Encryption Algorithm với khóa 128 bit, phổ biến trong phát triển game, thiết bị IoT và hệ thống nhúng
Mã hóa dòng và khối họ RC bao gồm RC4, RC4-Drop, RC5 và RC6 (ứng cử viên AES)
Mã dòng hiện đại với ChaCha20, ChaCha20-Poly1305 AEAD và các biến thể XChaCha20
Mã dòng tốc độ cao với Salsa20, Salsa20/12, Salsa20/8 và các biến thể XSalsa20
Mã khối tiêu chuẩn Nhật Bản/Châu Âu (ISO/IEC 18033-3) với khóa 128/192/256 bit và nhiều chế độ
Mã khối tiêu chuẩn quốc gia Hàn Quốc (RFC 4269, ISO 18033-3) với khóa 128 bit và chế độ CBC
Mã hóa khối Nga GOST 28147-89/Magma với nhiều chế độ, tùy chọn S-Box và phương pháp đệm
Tạo hash BLAKE2b, BLAKE2s và BLAKE3 cho văn bản và tệp, thuật toán băm nhanh và an toàn
Tạo và xác minh hash mật khẩu an toàn bằng thuật toán Bcrypt, Scrypt và Argon2
Tạo khóa mã hóa an toàn từ mật khẩu với PBKDF2 SHA-256/384/512, tuân thủ OWASP
Tạo khóa mã hóa với mô hình extract-expand HKDF RFC 5869, sử dụng trong TLS 1.3 và Signal Protocol
Tính checksum CRC-8, CRC-16, CRC-32, CRC-64 với hỗ trợ Modbus, CCITT và các tiêu chuẩn giao thức khác
Tính checksum Adler-32 cho văn bản và tệp, checksum nhanh được sử dụng trong nén zlib/gzip
Tạo hash RIPEMD-128/160/256/320 cho văn bản và tệp, RIPEMD-160 được sử dụng rộng rãi trong Bitcoin
Tạo hash Whirlpool 512-bit sử dụng thuật toán Whirlpool-0, Whirlpool-T và Whirlpool ISO
Tạo hash Snefru-128/256 cho văn bản và tệp, hàm hash mật mã ban đầu của Ralph Merkle
Tạo hash HAS-160, tiêu chuẩn mật mã Hàn Quốc cho chữ ký số KCDSA
Hash phi mật mã cực nhanh hỗ trợ xxHash32, xxHash64, xxHash3 và xxHash128
Tạo hash SHA3-224/256/384/512 và Keccak với tăng tốc WebAssembly, được sử dụng trong Ethereum
Hàm hash phi mật mã hiệu suất cao cho bảng hash, bộ lọc Bloom và phân vùng dữ liệu
Hàm hash Fowler-Noll-Vo với biến thể FNV-1 và FNV-1a, được sử dụng trong DNS, bảng hash và cấu trúc dữ liệu
Tạo hash GOST R 34.11-94 và Streebog (GOST R 34.11-2012), tiêu chuẩn mật mã quốc gia Nga
Công cụ mật mã tiêu chuẩn quốc gia Trung Quốc hỗ trợ mã hóa khóa công khai SM2, hash SM3 và mã hóa khối SM4
Các công cụ mã hóa rất cần thiết cho bảo vệ dữ liệu, xác minh tính toàn vẹn và triển khai xác thực an toàn. Danh mục này bao gồm hashing (MD5, SHA-256, SHA-3, BLAKE, SM3), mã hóa đối xứng (AES, DES, SM4), mã hóa bất đối xứng (RSA), mã xác thực tin nhắn (HMAC), thuật toán checksum (CRC32), trình tạo mật khẩu và tiện ích hash mật khẩu. Hiểu các nguyên tắc mật mã như độ mạnh thuật toán, quản lý khóa và khả năng chống collision là rất quan trọng để triển khai hệ thống an toàn. Hướng dẫn này bao gồm các tiêu chuẩn mật mã hiện đại, use case của thuật toán và các lỗi bảo mật phổ biến cần tránh.
Mã hóa theo tiêu chuẩn Advanced Encryption Standard với kích thước khóa 128/192/256 bit. Các chế độ: CBC, ECB, CTR, GCM. Tiêu chuẩn de facto cho mã hóa đối xứng.
Tạo hash SHA-1, SHA-256, SHA-384, SHA-512, SHA-3. SHA-256 được khuyến nghị cho hầu hết use case. SHA-3 cung cấp khả năng chống lại tấn công lượng tử.
Mã hóa bất đối xứng với cặp khóa công khai/riêng tư. Tạo khóa 2048/4096 bit. Dùng cho trao đổi khóa an toàn, chữ ký số và xác minh chứng chỉ.
| Thuật toán/Công cụ | Đặc điểm và Khuyến nghị Sử dụng |
|---|---|
| MD5 | Hash 128-bit lỗi thời. Đã bị phá vỡ về mặt mật mã — không dùng cho bảo mật. Chỉ chấp nhận được cho checksum file (phát hiện hỏng, không phải tấn công). |
| SHA-256/SHA-3 | Tiêu chuẩn công nghiệp cho hashing. SHA-256: 256-bit, được sử dụng rộng rãi. SHA-3: thay thế hiện đại với cấu trúc khác (sponge). Cả hai đều an toàn cho mật khẩu, chữ ký. |
| AES-256 | Tiêu chuẩn vàng cho mã hóa đối xứng. Chế độ GCM cung cấp cả xác thực và mã hóa. Tránh ECB (rò rỉ pattern). Quản lý IV đúng cách rất quan trọng. |
| RSA | Mã hóa bất đối xứng cho trao đổi khóa và chữ ký. Tối thiểu 2048-bit (khuyến nghị 4096). PKCS#1 v1.5 đã lỗi thời — dùng OAEP. Chậm hơn thuật toán đối xứng. |
| HMAC | Mã xác thực tin nhắn dựa trên hash. Kết hợp hash với khóa bí mật. HMAC-SHA256 cho tính toàn vẹn dữ liệu. Ngăn chặn tấn công giả mạo tin nhắn. |
| SM2/SM3/SM4 | Tiêu chuẩn mật mã quốc gia Trung Quốc. SM2: tương tự ECDSA, SM3: hash 256-bit (tương tự SHA-256), SM4: block cipher 128-bit (tương tự AES-128). |
Dùng AES-256-GCM cho mã hóa, SHA-256/SHA-3 cho hashing. Tránh MD5, SHA-1, DES, 3DES. RSA-4096 hoặc ECDSA P-256 cho mật mã bất đối xứng.
Dùng thuật toán chuyên dụng: bcrypt, Argon2, scrypt. SHA-256 không có salt không đủ cho mật khẩu. Tạo salt riêng cho mỗi mật khẩu.
Dùng CSPRNG (Crypto API). Không dùng Math.random() hoặc time-based seed. Khóa phải có entropy đầy đủ cho độ dài của nó.
Lưu khóa trong HSM hoặc Key Management Service. Không commit khóa vào repository. Xoay vòng khóa định kỳ. Phân tách khóa theo môi trường.
GCM/CCM cho authenticated encryption. IV/nonce duy nhất cho mỗi lần mã hóa. Tránh ECB — nó tiết lộ pattern. CTR cho stream encryption.
Dùng thư viện đã được kiểm chứng (OpenSSL, libsodium, Web Crypto API). Không tự implement thuật toán mật mã. Audit bảo mật định kỳ.