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

Khóa file bằng mật khẩu với mã hóa xác thực ChaCha20-Poly1305 hoặc AES-256-GCM, rồi giải mã lại. Khóa và file không bao giờ rời khỏi trình duyệt — không có gì được upload.

File không bao giờ rời khỏi thiết bị của bạn

Thả file để mã hóa

Công cụ này làm gì

Công cụ này mã hóa một file bằng mật khẩu để chỉ ai có mật khẩu đó mới mở lại được — và giải mã file trở về đúng nguyên trạng ban đầu nếu nhập đúng mật khẩu. Thả một file vào, gõ mật khẩu, và tải về một file .enc tự chứa; sau này thả file .enc đó vào cùng với đúng mật khẩu, bạn sẽ nhận lại chính xác dữ liệu và tên file gốc.

Mọi thứ diễn ra ngay trên thiết bị của bạn. Không có bước upload, không có tài khoản, và không có khóa nào được lưu trên bất kỳ server nào — mật khẩu bạn chọn là thứ duy nhất có thể mở khóa file, và nó không bao giờ được gửi qua mạng.

Chọn thuật toán nào

Thuật toánĐiểm mạnhPhù hợp cho
ChaCha20-Poly1305 (mặc định)Chạy nhanh thuần phần mềm, không cần phần cứng đặc biệtDùng chung, đặc biệt trên điện thoại hoặc thiết bị không có tăng tốc phần cứng AES
AES-256-GCMCái tên chuẩn được công nhận rộng rãi nhấtKhi một chính sách hay yêu cầu tuân thủ cụ thể đòi hỏi đích danh AES

Cả hai đều là mật mã AEAD (mã hóa có xác thực) hiện đại, chưa có điểm yếu thực tế nào được biết đến — đây là lựa chọn giữa hai phương án mạnh ngang nhau, không phải đánh đổi về bảo mật.

File của bạn được bảo vệ như thế nào

Mật khẩu của bạn không trực tiếp trở thành khóa mã hóa. Nó được đưa qua Argon2id trước, một hàm dẫn xuất khóa (KDF) tốn nhiều bộ nhớ, dùng một salt ngẫu nhiên được tạo mới cho mỗi file — điều này khiến việc dò mật khẩu bằng brute-force tốn kém về mặt tính toán ngay cả khi ai đó có được file đã mã hóa. Khóa dẫn xuất sau đó mã hóa nội dung file của bạn bằng mật mã AEAD, tạo ra cả ciphertext lẫn một tag xác thực trong cùng một bước.

Mẹo: Chính tag xác thực đó khiến việc nhập sai mật khẩu bị phát hiện ngay lập tức: giải mã với mật khẩu sai sẽ khiến tag không khớp, và công cụ từ chối xuất ra bất cứ thứ gì thay vì đưa cho bạn dữ liệu hỏng hoặc thiếu. Bạn sẽ luôn nhận được thông báo lỗi rõ ràng thay vì dữ liệu rác.

Tên file của bạn cũng được mã hóa

Tên file và đuôi file gốc di chuyển bên trong chính phần dữ liệu đã mã hóa, cùng với các byte của file — không phải là metadata hiển thị trong container. Ai đó chặn được file .enc của bạn sẽ không biết gì về tên hay nội dung của nó nếu không có mật khẩu; giải mã với đúng mật khẩu sẽ khôi phục cả tên file gốc chính xác lẫn nội dung của nó.

Nếu tôi quên mật khẩu thì sao

Không có cách nào khôi phục được. Khóa dẫn xuất từ Argon2id là cách duy nhất để mở khóa file, và công cụ này không lưu mật khẩu, khóa, hay bất kỳ cơ chế ký gửi (escrow) nào ở bất cứ đâu. Đây là một đặc tính bảo mật có chủ đích, không phải một tính năng còn thiếu — một hệ thống có thể khôi phục đồng nghĩa một ai đó khác ngoài bạn cũng có thể mở khóa file. Hãy lưu mật khẩu của bạn ở nơi an toàn trước khi đóng tab.

Giải mã trên thiết bị khác

File .enc hoàn toàn tự-mô-tả — nó mang theo lựa chọn thuật toán và các tham số cần thiết để đảo ngược quá trình, nên bạn không cần nhớ bất kỳ thiết lập nào, chỉ cần mật khẩu. Sao chép file sang điện thoại, một laptop khác, hoặc gửi cho người khác hoàn toàn; miễn là họ mở cùng công cụ này và nhập đúng mật khẩu, việc giải mã sẽ cho ra kết quả giống hệt.

Giới hạn dung lượng file

Công cụ xử lý toàn bộ file trong bộ nhớ trình duyệt của bạn, nên không có giới hạn cứng nào do công cụ đặt ra — giới hạn thực sự là bộ nhớ mà thiết bị và tab trình duyệt của bạn có thể dành ra. File nhỏ đến vừa (ảnh, tài liệu, file nén tới vài trăm megabyte) xử lý nhanh; file nhiều gigabyte vẫn hoạt động được nhưng có thể chậm hơn và tốn nhiều bộ nhớ hơn, đặc biệt trên điện thoại hoặc phần cứng cũ.

Nếu bạn cũng muốn kiểm tra tính toàn vẹn của file bằng checksum, xem Công cụ Hash & Checksum. Nếu bạn cần đánh giá hoặc hash riêng một mật khẩu, xem Kiểm tra độ mạnh & tạo hash mật khẩu — cả hai đều xử lý ngay trên thiết bị giống như công cụ này.

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

Công cụ này có thực sự riêng tư không, hay file bị upload lên đâu đó trước?
Hoàn toàn riêng tư — không có gì bị upload. Cả mã hóa lẫn giải mã đều chạy cục bộ bằng WebAssembly ngay trong tab trình duyệt của bạn, nên file và mật khẩu của bạn không bao giờ chạm tới mạng. Bạn thậm chí có thể ngắt kết nối internet sau khi trang đã tải xong và công cụ vẫn hoạt động bình thường.
Tôi nên chọn thuật toán nào — ChaCha20-Poly1305 hay AES-256-GCM?
Cả hai đều an toàn; khác biệt chủ yếu nằm ở hiệu năng và bối cảnh sử dụng. ChaCha20-Poly1305 (mặc định) chạy nhanh thuần bằng phần mềm trên mọi thiết bị, kể cả điện thoại hay laptop cũ không có tăng tốc phần cứng AES. AES-256-GCM là cái tên được công nhận rộng rãi hơn, phù hợp nếu một chính sách hay tiêu chuẩn cụ thể ở tổ chức của bạn yêu cầu đích danh AES — ngoài ra ChaCha20-Poly1305 là lựa chọn mặc định tốt.
Nếu tôi quên mật khẩu thì sao?
File sẽ không thể khôi phục được. Mật khẩu được đưa qua Argon2id để tạo ra khóa mã hóa, và không có backdoor, khóa chủ hay tùy chọn reset nào được xây dựng sẵn — đó chính là mục đích của thiết kế này. Hãy ghi lại mật khẩu ở nơi an toàn trước khi đóng tab, vì mất mật khẩu đồng nghĩa mất quyền truy cập file vĩnh viễn.
Tôi có thể giải mã file trên một thiết bị khác không?
Có. File `.enc` đã mã hóa là một container tự chứa — di chuyển nó sang máy tính hoặc điện thoại khác, mở cùng công cụ này ở đó, nhập mật khẩu, và nó sẽ giải mã giống hệt. Không cần tài khoản, không cần ghép nối thiết bị, không có khóa phía server nào tham gia.
Tên file gốc có được giấu bên trong file đã mã hóa không?
Có. Tên file gốc được lưu bên trong phần dữ liệu đã mã hóa, không phải dưới dạng văn bản rõ trong phần header của container — nên đổi tên hay kiểm tra file `.enc` không tiết lộ gì về nội dung bên trong hay tên gốc của nó. Chỉ khi nhập đúng mật khẩu, tên file mới được khôi phục cùng với nội dung.
Có giới hạn dung lượng file không?
Công cụ đọc toàn bộ file vào bộ nhớ trình duyệt để mã hóa hoặc giải mã, nên giới hạn thực tế phụ thuộc vào lượng RAM khả dụng của thiết bị và tab trình duyệt của bạn, chứ không phải một con số cố định do công cụ đặt ra. File rất lớn (nhiều gigabyte) có thể chạy chậm hơn hoặc tốn nhiều bộ nhớ hơn trên thiết bị cấu hình thấp.
Công cụ này có thực sự miễn phí không?
Có. Không cần đăng ký, không watermark, và không giới hạn số lượng file bạn có thể mã hóa hoặc giải mã. Công cụ chạy hoàn toàn trong trình duyệt nên không phát sinh chi phí server.