Mã Hóa AES Online

Mã hóa và giải mã văn bản bằng AES-GCM / AES-CBC ngay trên trình duyệt

Mật khẩu sẽ được derive sang khóa 256-bit bằng PBKDF2-SHA256 (100,000 iterations).

Mã Hóa AES Online - AES-GCM, AES-CBC Encrypt & Decrypt

Tính Năng Nổi Bật

  • AES-GCM (khuyên dùng): Mã hóa có xác thực (authenticated encryption), phát hiện dữ liệu bị thay đổi
  • AES-CBC: Chuẩn cũ phổ biến, tương thích nhiều hệ thống legacy
  • Key size 128/192/256 bit: Lựa chọn linh hoạt giữa tốc độ và độ bảo mật
  • Passphrase + PBKDF2: Tự động derive khóa từ mật khẩu (SHA-256, 100.000 iterations, salt ngẫu nhiên)
  • Raw key (hex/base64): Nhập trực tiếp hoặc tạo ngẫu nhiên khóa đúng độ dài
  • Output Base64 hoặc Hex: Linh hoạt format để copy/paste hoặc lưu trữ

Ứng Dụng Thực Tế

  • Bảo mật tin nhắn: Mã hóa văn bản nhạy cảm trước khi gửi qua email, chat
  • Lưu trữ an toàn: Mã hóa note, mật khẩu, ghi chú trước khi sync cloud
  • Developer: Test ciphertext, verify implementation AES, debug crypto code
  • Học tập: Hiểu cơ chế AES, GCM vs CBC, IV, salt, PBKDF2
  • Tạo khóa: Sinh khóa AES ngẫu nhiên cho ứng dụng hoặc backup

Hướng Dẫn Sử Dụng

  1. Bước 1: Chọn chế độ "Mã hóa" hoặc "Giải mã"
  2. Bước 2: Chọn algorithm (GCM khuyên dùng), key size (256 cho bảo mật cao nhất) và output format
  3. Bước 3: Chọn loại khóa: Mật khẩu (dễ nhớ) hoặc Raw key (mạnh hơn)
  4. Bước 4: Nhập khóa và văn bản cần xử lý
  5. Bước 5: Nhấn nút Mã hóa/Giải mã, sao chép kết quả. Dùng nút "Đổi chỗ" để verify ngược lại

Kiến Thức Về AES & Mã Hóa Đối Xứng

AES (Advanced Encryption Standard): Chuẩn mã hóa đối xứng được NIST công nhận năm 2001, sử dụng cùng một khóa để mã hóa và giải mã.

AES-GCM: Galois/Counter Mode — vừa mã hóa vừa xác thực (AEAD). Có authentication tag chống thay đổi dữ liệu. Khuyên dùng cho hầu hết trường hợp.

AES-CBC: Cipher Block Chaining — chỉ mã hóa, không xác thực. Cần thêm HMAC nếu muốn chống tampering. Dùng khi cần tương thích hệ thống cũ.

IV (Initialization Vector): Vector ngẫu nhiên đảm bảo cùng plaintext + cùng key cho ra ciphertext khác nhau. GCM dùng 12 bytes, CBC dùng 16 bytes.

PBKDF2: Hàm derive khóa từ mật khẩu, làm chậm brute-force bằng cách lặp 100.000 lần. Salt ngẫu nhiên 16 bytes chống rainbow table.

Cấu trúc output: [salt 16 bytes (nếu passphrase)] + [IV] + [ciphertext + auth tag]. Tất cả gói chung trong base64/hex để dễ lưu trữ.

Câu Hỏi Thường Gặp

Nên chọn AES-GCM hay AES-CBC?

Khuyên dùng AES-GCM vì có authentication built-in, phát hiện được dữ liệu bị thay đổi. AES-CBC chỉ nên dùng khi bắt buộc tương thích với hệ thống cũ và bạn đã có cơ chế MAC riêng.

Key size 128, 192, 256 bit khác nhau thế nào?

Cả ba đều an toàn cho ứng dụng thông thường. AES-128 nhanh hơn, AES-256 chống được tấn công brute-force lý thuyết kể cả với máy tính lượng tử. Mặc định dùng 256-bit cho dữ liệu nhạy cảm.

Mật khẩu (passphrase) và Raw key khác nhau ra sao?

Passphrase dễ nhớ nhưng phải dùng PBKDF2 để derive thành khóa AES, chậm hơn khi mã hóa. Raw key là byte ngẫu nhiên đúng độ dài (16/24/32 bytes), nhanh hơn nhưng phải lưu trữ cẩn thận. Raw key + RNG mạnh là chuẩn industrial.

Tại sao mỗi lần mã hóa cùng văn bản lại ra ciphertext khác nhau?

Vì IV (và salt nếu dùng passphrase) được sinh ngẫu nhiên mỗi lần. Đây là tính năng bảo mật, ngăn kẻ tấn công nhận ra hai bản tin có cùng nội dung. Cả hai vẫn giải mã ngược về plaintext gốc.

Giải mã thất bại "decryption failed" là do đâu?

Thường do: (1) sai khóa hoặc passphrase, (2) sai algorithm GCM/CBC, (3) sai key size, (4) sai output format base64/hex, (5) ciphertext bị thay đổi/cắt mất ký tự. Với GCM, tag mismatch sẽ luôn báo lỗi.

Tool có gửi dữ liệu lên server không?

Hoàn toàn không. Toàn bộ xử lý mã hóa/giải mã chạy trong trình duyệt qua Web Crypto API native. Văn bản và khóa của bạn không rời khỏi máy.

Ciphertext tạo bởi tool này decrypt được ở backend (Node.js, Python, Java) không?

Có, nhưng phải parse đúng cấu trúc output: [salt(16) | IV | ciphertext+tag] với passphrase, hoặc [IV | ciphertext+tag] với raw key. Với GCM, tag 16 bytes nằm cuối ciphertext. Tham khảo Web Crypto API spec.

Mã Hóa AES Online Miễn Phí - Công cụ mã hóa AES-GCM, AES-CBC với key 128/192/256 bit, hỗ trợ passphrase PBKDF2 và raw key. Xử lý hoàn toàn trên trình duyệt.

Phát triển bởi dungqb.com - Cung cấp các công cụ online hữu ích cho cuộc sống hàng ngày.