Cách dùng Mã hóa & Giải mã AES
- Chọn Mã hóa hoặc Giải mã và định dạng.
- Nhập một mật khẩu mạnh.
- Dán văn bản vào và nhấn nút.
- Để giải mã sau này, bạn cần đúng mật khẩu và định dạng — hãy lưu mật khẩu ở nơi an toàn.
Hai định dạng
| AES-256-GCM (mặc định) | OpenSSL AES-256-CBC | |
|---|---|---|
| Thuật toán mã hóa | AES-256 ở chế độ Galois/Counter Mode — có xác thực | AES-256 ở chế độ CBC với đệm PKCS#7 |
| Dẫn xuất khóa | PBKDF2-SHA256, 600.000 vòng lặp, salt 16 byte | PBKDF2-SHA256, số vòng lặp tùy chỉnh (mặc định của OpenSSL là 10.000), salt 8 byte |
| Phát hiện chỉnh sửa | Có — dữ liệu bị sửa đổi sẽ không giải mã được | Không — chỉ phát hiện lỗi đệm |
| Tương thích với | Công cụ này và mọi mã nguồn tuân theo cấu trúc đã được tài liệu hóa | openssl enc -aes-256-cbc -pbkdf2 -a |
Đầu ra GCM có dạng Base64(salt ‖ IV ‖ ciphertext ‖ tag), nên Web Crypto API, Node.js (crypto.createDecipheriv('aes-256-gcm', …)) hoặc gói cryptography của Python đều có thể giải mã với cùng tham số.
Giải mã đầu ra của OpenSSL
Văn bản được mã hóa bằng
echo -n "secret" | openssl enc -aes-256-cbc -pbkdf2 -salt -a -A -pass pass:YOURPASS
bắt đầu bằng U2FsdGVkX1 (Base64 của “Salted__”) và có thể giải mã tại đây với định dạng OpenSSL. Nếu không có -pbkdf2, OpenSSL sẽ dùng cơ chế dẫn xuất EVP_BytesToKey cũ và yếu, mà công cụ này không hỗ trợ, vì vậy hãy luôn thêm -pbkdf2.
Độ mạnh của mật khẩu là quan trọng nhất
Bản thân AES-256 không thể bị dò bằng vét cạn, nhưng mật khẩu yếu thì có thể. PBKDF2 làm chậm mỗi lần thử, nhưng mật khẩu 8 ký tự vẫn dễ bị đoán. Hãy dùng một cụm mật khẩu dài, trình tạo mật khẩu sẽ giúp bạn. Để lưu mật khẩu theo kiểu một chiều, hãy dùng bcrypt; để tạo chữ ký, hãy dùng HMAC.
Cũng được tìm dưới tên: mã hóa aes online, mã hóa aes 256, giải mã aes, mã hóa văn bản bằng mật khẩu, openssl enc decrypt, aes gcm, mã hóa văn bản online.
Các công cụ dùng kèm tốt với Mã hóa & Giải mã AES
- Mã hóa / Giải mã Base64 — Chuyển văn bản sang Base64 và ngược lại với hỗ trợ đầy đủ UTF-8 (dấu tiếng Việt, emoji), chuyển sang Base64 an toàn cho URL, hoặc thả tệp vào để lấy chuỗi Base64 hay data URI.
- Tạo mã Hash — Tính mã hash MD5 và SHA cho mọi văn bản hoặc file ngay lập tức, tạo chữ ký HMAC và dán checksum mong đợi để kiểm tra file tải về.
- Giải mã JWT — Dán JSON Web Token vào đây để xem header và payload, kiểm tra thời điểm hết hạn và xác minh chữ ký.
- Kiểm tra IBAN — Kiểm tra IBAN có hợp lệ không trước khi bạn chuyển tiền hoặc lưu lại: quốc gia, độ dài theo quy định của quốc gia đó, định dạng số tài khoản và checksum mod-97.