Công cụ mã hóa AES

Kích thước: 0 B, 0 ký tự
Chuyển sang giải mã
Kích thước: 0 B, 0 ký tự

Công cụ mã hóa AES online miễn phí

Mã hóa AES là gì?

AES (Advanced Encryption Standard) là thuật toán mã hóa đối xứng dùng để bảo vệ dữ liệu bằng khóa bí mật. Mã hóa đối xứng nghĩa là cùng một bí mật được dùng để mã hóa và giải mã dữ liệu.

Công cụ này dùng AES-GCM, một chế độ hiện đại có cả tính bảo mật nội dung và xác thực dữ liệu. Điều đó giúp dữ liệu đã mã hóa không bị đọc lén, đồng thời công cụ giải mã có thể phát hiện khi ciphertext bị thay đổi.

Công cụ mã hóa AES là gì?

Công cụ mã hóa AES nhận văn bản gốc, mật khẩu và các tham số mã hóa, sau đó tạo ciphertext. Công cụ này tạo khóa AES 256-bit từ mật khẩu bằng PBKDF2-HMAC-SHA-256, sinh salt và IV ngẫu nhiên, rồi trả về gói JSON để công cụ giải mã AES có thể đọc lại.

Mật khẩu không nằm trong kết quả đã mã hóa. Bạn cần lưu mật khẩu riêng và an toàn.

Vì sao dùng AES-GCM?

AES-GCM thường là lựa chọn tốt cho mã hóa hiện đại trong trình duyệt vì nó có xác thực tích hợp. Các chế độ cũ hơn như AES-CBC có thể mã hóa dữ liệu, nhưng không tự xác thực dữ liệu và dễ bị dùng sai hơn.

Vì vậy, phiên bản đầu tiên của công cụ này chỉ hỗ trợ AES-GCM.

Cách dùng công cụ mã hóa AES

  1. Nhập văn bản bạn muốn mã hóa.
  2. Nhập một mật khẩu mạnh.
  3. Bấm Mã hóa.
  4. Sao chép gói JSON đã mã hóa.
  5. Dán gói này vào công cụ giải mã AES và dùng cùng mật khẩu để giải mã.

Kết quả bao gồm tên thuật toán, thông số KDF, salt, IV và ciphertext. Kết quả không bao gồm mật khẩu.

Định dạng kết quả mã hóa

Kết quả mã hóa là một JSON tự chứa:

{
  "v": 1,
  "alg": "AES-GCM",
  "kdf": "PBKDF2",
  "hash": "SHA-256",
  "iterations": 600000,
  "keyLength": 256,
  "salt": "base64",
  "iv": "base64",
  "ciphertext": "base64"
}

Salt và IV được tạo ngẫu nhiên cho mỗi lần mã hóa. Vì vậy ciphertext sẽ thay đổi mỗi lần, kể cả khi bạn mã hóa cùng một văn bản với cùng mật khẩu.

Truyền dữ liệu bằng tham số URL

Bạn chỉ có thể điền sẵn ô văn bản bằng tham số ?input=:

https://www.uprek.com/vi/tools/ma-hoa-aes?input=hello

Mật khẩu cố ý không được hỗ trợ dưới dạng tham số URL. Mật khẩu trong URL có thể bị lưu trong lịch sử trình duyệt, log, công cụ phân tích, ảnh chụp màn hình và referrer header. Hãy nhập mật khẩu trực tiếp trong ô mật khẩu.

Với dữ liệu nhạy cảm, không nên chia sẻ URL có chứa văn bản gốc riêng tư.

Chi tiết kỹ thuật và quyền riêng tư

Công cụ này dùng Web Crypto API có sẵn trong trình duyệt. Khóa được tạo bằng crypto.subtle.deriveKey() và dữ liệu được mã hóa bằng crypto.subtle.encrypt() với AES-GCM.

Văn bản và mật khẩu của bạn được xử lý trong trình duyệt. Trang tĩnh của UPREK không cần máy chủ runtime để mã hóa dữ liệu.

Lưu ý bảo mật

Hãy dùng mật khẩu dài và riêng biệt. Nếu mất mật khẩu, dữ liệu đã mã hóa sẽ không thể khôi phục.

Công cụ này không thay thế cho một thiết kế bảo mật ứng dụng đã được đánh giá kỹ. Mã hóa trong trình duyệt hữu ích cho học tập, kiểm thử và các quy trình nhỏ, nhưng hệ thống production cần quản lý khóa, phân quyền, sao lưu và mô hình hóa rủi ro cẩn thận.