Bỏ qua, đến nội dung

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

Mất encryption key thì có khôi phục được dữ liệu không?

Không. AES là mã hóa đối xứng — mất key đồng nghĩa mất dữ liệu. Hãy backup key cẩn thận và sử dụng key rotation định kỳ.

Khác biệt giữa Encryption và Mask?

EncryptionMask
Dữ liệu trong DBCiphertext (mã hóa)Plaintext (nguyên gốc)
Bảo mậtThực sự — không đọc được khi truy cập trực tiếp DBChỉ che trên UI
Hiệu năngTốn thêm CPU cho encrypt/decryptKhông ảnh hưởng
Tìm kiếmChỉ equality ($encryptionEq)Hỗ trợ đầy đủ

Có thể tìm kiếm LIKE trên field encryption không?

Không. Do dữ liệu được mã hóa, chỉ hỗ trợ so sánh chính xác thông qua $encryptionEq$encryptionNe. Tìm kiếm mờ (LIKE, contains) không khả thi trên ciphertext.

Field encryption có chậm hơn field thường không?

Có nhưng không đáng kể với lượng dữ liệu vừa phải. Mỗi lần đọc/ghi đều qua thêm bước encrypt/decrypt. Với bảng lớn (hàng triệu bản ghi), nên đánh giá hiệu năng trước khi dùng rộng rãi.

Key rotation mất bao lâu?

Phụ thuộc số lượng bản ghi. Quy trình decrypt + re-encrypt toàn bộ dữ liệu, nên bảng có 100k bản ghi sẽ mất vài phút. Nên chạy vào giờ thấp điểm.

Có thể dùng encryption key chung cho nhiều field không?

Có thể nhưng không khuyến khích. Per-field key giúp giới hạn rủi ro — nếu một key bị lộ, chỉ field đó bị ảnh hưởng.

EncryptionError hiển thị khi nào?

Khi decrypt thất bại — thường do:

  • Key đã bị thay đổi mà chưa chạy key rotation.
  • Ciphertext bị corrupt (chỉnh sửa trực tiếp trong DB).
  • Sai field metadata sau khi import/restore database.

Có hỗ trợ thuật toán mã hóa khác ngoài AES không?

Hiện tại plugin chỉ hỗ trợ AES. Nếu cần thuật toán khác, phải extend plugin.