Mã hóa / Giải mã AES

Mã hóa và giải mã với tham số AES tùy chỉnh.

Bảo mật & mật mã
Đang chuẩn bị không gian làm việc…

Đầu vào

Đang chuẩn bị không gian làm việc…

Kết quả
Kết quả sẽ xuất hiện tại đây.

Cách sử dụng

  1. Chọn mã hóa hoặc giải mã, định dạng bản mã và cài đặt AES tương ứng.
  2. Nhập dữ liệu, khóa hoặc mật khẩu, IV, salt và tham số xác thực cần thiết.
  3. Chạy thao tác và giữ các tham số cần để giải mã về sau.

Mã hóa / Giải mã AES

Mã hóa hoặc giải mã với cùng chế độ, khóa, IV và bảng mã. GCM có xác thực là chế độ mặc định.

Giữ IV, salt và các cài đặt tương ứng cùng bản mã. Khóa đầu vào và mật khẩu không được đưa vào nội dung xuất.

Làm việc với đầu vào

Dùng đúng 16, 24 hoặc 32 byte cho AES-128, AES-192 hoặc AES-256. Khóa không được tự thêm đệm hay cắt ngắn.

GCM: 12–64 byte (khuyến nghị 12). CBC, CTR và CFB: đúng 16 byte. ECB không dùng IV. Mặc định mỗi lần mã hóa tạo IV và salt ngẫu nhiên mới nên cùng bản rõ có thể cho kết quả khác nhau. Giá trị thủ công dùng để kiểm tra tương thích; tuân theo yêu cầu IV/nonce của chế độ.

Ví dụ
Đầu vào
Plaintext: Hello, encrypted world! 🌐
Passphrase: DevToolsy-demo-passphrase
Kết quả
{
  "format": "devtoolsy-aes",
  "version": 2,
  "mode": "GCM",
  "keyBits": 256,
  "keySource": "passphrase",
  "padding": "none",
  "iv": "EBESExQVFhcYGRob",
  "ciphertext": "QdSMophe/cqRY/7qS1tHMemEKsgTwgzhEdCmOixECYc6+/X/mfq9f9Wq0CE=",
  "kdf": {
    "name": "PBKDF2",
    "hash": "SHA-256",
    "iterations": 600000,
    "salt": "AAECAwQFBgcICQoLDA0ODw=="
  },
  "authentication": {
    "tagLength": 128,
    "aad": ""
  }
}

Chỉ là dữ liệu ví dụ. Không dùng thông tin bí mật mẫu làm thông tin xác thực thật.

Hoạt động và giới hạn

GCM hỗ trợ tag 96/104/112/120/128 bit, AAD và tag nối hoặc riêng. CBC/ECB hỗ trợ PKCS#7 hoặc NoPadding; cách sau yêu cầu khối đủ 16 byte. CFB dùng đoạn 128 bit; CTR có bộ đếm 1–128 bit. Bản rõ giới hạn 1 MiB. Kết quả nhị phân có thể xem dưới dạng Hex/Base64 hoặc tải byte thô; UTF-8 sai sẽ báo lỗi.

Chế độ này không xác thực dữ liệu. Khóa sai có thể vẫn tạo kết quả mà không báo lỗi. Dùng GCM nếu cần phát hiện thay đổi.

ECB dành cho khả năng tương thích với hệ thống cũ: các khối bản rõ giống nhau tạo ra các khối bản mã giống nhau.

Sao chép và dùng lại

JSON v2 lưu tham số không bí mật và đọc v1 với AES-256-GCM / PBKDF2-SHA256 / 600.000 vòng lặp. JSON là vùng chứa, không bổ sung xác thực. Dùng kết quả làm đầu vào sẽ chuyển tham số thực tế; quay lại mã hóa sẽ khôi phục IV/salt ngẫu nhiên.

Chế độ khóa thô có thể tương thích Node.js, Python hoặc OpenSSL nếu chế độ, byte khóa, IV, padding, bảng mã và tag/AAD GCM đều khớp. Không tự đọc lớp bao OpenSSL Salted__ hoặc mật khẩu CryptoJS: hãy dùng khóa dẫn xuất và IV thực tế. Giữ IV, salt và các cài đặt tương ứng cùng bản mã. Khóa đầu vào và mật khẩu không được đưa vào nội dung xuất.

Giới hạn xử lý

Đầu vào: 1 MiB; Khóa bí mật: 64 KiB; Tệp: 1 GiB; Mật khẩu: 4–128 (Độ dài), 1–100 (Số lượng); bcrypt: 1–72 byte UTF-8 · chi phí 4–14 · mặc định 10; AES: Văn bản gốc 1 MiB, Cụm mật khẩu 1 KiB, GCM / CBC / CTR / CFB / ECB, 128/192/256-bit; PBKDF2 / HKDF: Mật khẩu / byte đầu vào 64 KiB, Salt / info 1 KiB, Độ dài kết quả (byte) 1–256; Kết quả 1–256 byte · tối đa 2.000.000 vòng lặp PBKDF2 · xử lý trên thiết bị của bạn; Thời gian: 30 s; Tệp: 120 s.

?

Câu hỏi thường gặp

Cần gì để giải mã về sau?

Giữ IV, salt và các cài đặt tương ứng cùng bản mã. Khóa đầu vào và mật khẩu không được đưa vào nội dung xuất.

Vì sao đầu ra mã hóa mỗi lần đều khác?

Mặc định mỗi lần mã hóa tạo IV và salt ngẫu nhiên mới nên cùng bản rõ có thể cho kết quả khác nhau. Giá trị thủ công dùng để kiểm tra tương thích; tuân theo yêu cầu IV/nonce của chế độ.

Đầu vào có được gửi đến DevToolsy không?

Không. Công cụ xử lý dữ liệu ngay trên thiết bị. Thông tin bí mật, tên tệp và kết quả không được đưa vào URL trang hay lưu trong lịch sử công cụ.

Xóa loại bỏ những gì?

Xóa loại bỏ các giá trị làm việc đang hiển thị. Thao tác này không bảo đảm xóa bộ nhớ an toàn; bản sao trong bảng nhớ tạm và tệp tải xuống được thiết bị của bạn quản lý riêng.

Có thể giải mã đầu ra OpenSSL hoặc CryptoJS tùy ý không?

Chế độ khóa thô có thể tương thích Node.js, Python hoặc OpenSSL nếu chế độ, byte khóa, IV, padding, bảng mã và tag/AAD GCM đều khớp. Không tự đọc lớp bao OpenSSL Salted__ hoặc mật khẩu CryptoJS: hãy dùng khóa dẫn xuất và IV thực tế.

Nên chọn chế độ nào?

Mã hóa hoặc giải mã với cùng chế độ, khóa, IV và bảng mã. GCM có xác thực là chế độ mặc định. Chế độ này không xác thực dữ liệu. Khóa sai có thể vẫn tạo kết quả mà không báo lỗi. Dùng GCM nếu cần phát hiện thay đổi. ECB dành cho khả năng tương thích với hệ thống cũ: các khối bản rõ giống nhau tạo ra các khối bản mã giống nhau.

Tìm công cụ tiếp theo

Ngôn ngữ

Đổi ngôn ngữ? Nội dung làm việc hiện tại sẽ bị xóa. Hãy sao chép hoặc tải xuống dữ liệu cần giữ trước.