Mã hóa / Giải mã AES 🔒 Chạy ngay trong trình duyệt — không tải lên bất cứ thứ gì.

Mã hóa hoặc giải mã văn bản bằng passphrase (AES-GCM).

  

Về công cụ này

Đôi khi bạn cần gửi một đoạn text — một ghi chú, một thông tin đăng nhập, một tin nhắn — qua kênh không an toàn như chat hay email. Mã hóa nó ở đây bằng một passphrase, chia sẻ bản mã, và người nhận giải mã bằng cùng passphrase. Công cụ này dùng AES-GCM, một cipher có xác thực, với khóa được kéo dài từ passphrase bằng PBKDF2.

Tất cả chạy qua Web Crypto API của trình duyệt ngay trên thiết bị bạn — văn bản và passphrase không bao giờ được tải lên. Chỉ cần nhớ rằng độ an toàn hoàn toàn dựa vào việc giữ passphrase bí mật và mạnh.

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

Công cụ này dùng mã hoá gì?

AES-256-GCM, với khóa được suy ra từ cụm mật khẩu của bạn qua PBKDF2 (100.000 vòng lặp, SHA-256). GCM vừa mang lại tính bảo mật vừa có khả năng phát hiện can thiệp tích hợp sẵn (một thẻ xác thực) — nếu bản mã bị chỉnh sửa hoặc cụm mật khẩu sai, việc giải mã sẽ thất bại thay vì trả về dữ liệu vô nghĩa.

Công cụ này có phù hợp để quản lý khóa trong môi trường production không?

Đây là mã hoá đủ vững chắc cho các tác vụ đơn lẻ như bảo vệ một ghi chú hay một giá trị cấu hình, nhưng nó suy ra khóa từ mật khẩu chứ không quản lý khóa theo cách một hệ thống production (KMS, vault, mô-đun bảo mật phần cứng) làm. Với bí mật ứng dụng ở quy mô lớn, hãy dùng một dịch vụ quản lý khóa chuyên dụng.

Cụm mật khẩu hoặc văn bản của tôi có được gửi đi đâu không?

Không. Mọi thứ diễn ra cục bộ bằng Web Crypto API của trình duyệt. Cụm mật khẩu của bạn thậm chí không được lưu vào bộ nhớ cục bộ của trang này — chỉ ô văn bản đầu vào được ghi nhớ, còn ô mật khẩu luôn được xoá khi tải lại trang.

Vì sao mỗi lần mã hoá cùng một đoạn văn bản lại cho kết quả khác nhau?

Mỗi lần mã hoá đều tạo ra một salt và IV (vector khởi tạo) ngẫu nhiên mới, được gắn vào trước bản mã và cần thiết cho việc giải mã. Tính ngẫu nhiên đó là bắt buộc — dùng lại salt/IV sẽ làm yếu đi việc mã hoá — nên mã hoá cùng một đầu vào hai lần luôn cho ra kết quả khác nhau.

Vì sao giải mã thất bại với thông báo "sai cụm mật khẩu"?

GCM có một thẻ xác thực sẽ không xác minh được nếu cụm mật khẩu sai hoặc bản mã bị thay đổi dù chỉ một ký tự. Nếu bạn chắc chắn cụm mật khẩu đúng, hãy kiểm tra xem đã copy đủ toàn bộ chuỗi Base64 chưa, kể cả phần header salt/IV ở đầu.