Hỗ trợ kỹ thuật
Base64 không phải mã hóa bảo mật: nó thực sự làm gì
Base64 là mã hóa (encoding), không phải mã hóa bảo mật. Vì sao không giấu được mật khẩu, vì sao to hơn, và cách giải mã.
Base64 là mã hóa dạng biểu diễn, không phải mã hóa bảo mật. Nó biến dữ liệu nhị phân thành dạng chữ mà hệ thống hướng văn bản có thể lưu hoặc gửi.
Ai có chuỗi Base64 thường giải được. Không cần mật khẩu hay khóa bí mật.
Đừng dùng Base64 để bảo vệ mật khẩu, khóa API, token truy cập, tin nhắn riêng hay bí mật khác. Đây là công cụ biểu diễn, không phải cơ chế an ninh.
Chuỗi trông lộn xộn không có nghĩa là đã được mã hóa bảo mật. Base64 chỉ đổi cách ghi byte thành chữ.
Base64 thực sự làm gì?
Base64 mã hóa dữ liệu nhị phân bằng bộ ASCII hạn chế: A–Z, a–z, 0–9, + và /. Có thể có đệm = để độ dài đầu ra là bội số của 4. Đệm không phải lúc nào cũng có—đầu vào ngắn có thể dùng một hoặc hai =, và một số định dạng bỏ qua.
Hello
Hello
Base64
SGVsbG8=
Giải SGVsbG8= bạn lại được Hello. Vòng đó không cần khóa.
- Dữ liệu gốc
- Hello
- Mã hóa Base64
- SGVsbG8=
- Giải Base64
- Hello
Base64 và mã hóa bảo mật khác nhau thế nào?
Base64 phục vụ biểu diễn và tương thích. Nó không giấu nội dung. Mã hóa bảo mật nhằm bảo mật và dùng vật liệu khóa mật mã. Giải Base64 không phải giải mật. Hệ thống khóa công khai cũng dùng khóa; nói “khóa mật mã phù hợp”, không phải “một bí mật dùng chung cho mọi kiểu mã hóa bảo mật”. Băm là ý thứ ba: bản tóm tắt, không phải mã hóa đảo được.
- Mã hóa (encoding)
- Không có khóa bí mật
- Ai cũng đảo được
- Mã hóa bảo mật
- Bảo vệ mật mã
- Cần đúng khóa để giải mật
Ba việc khác nhau:
| Phương pháp | Mục đích chính | Cần bí mật |
|---|---|---|
| Base64 | Mã hóa dữ liệu thành chữ | Không |
| Mã hóa bảo mật | Bảo vệ tính kín | Có / vật liệu khóa |
| Băm | Bản tóm tắt một chiều | Không giải mật |
Base64 có an toàn không?
Riêng Base64 không cho tính kín. Chuỗi có thể trông mờ, nhưng đó không phải tính năng an ninh. Bộ giải thường hoàn lại byte. Điều đó không có nghĩa “Base64 không an toàn” như một kỹ thuật. Đây là mã hóa thông thường. Không phải cơ chế an ninh. An toàn tùy hệ thống và kiểm soát xung quanh.
Có dùng Base64 để giấu mật khẩu hoặc khóa API được không?
Không, không phải để bảo vệ. Mã hóa mật khẩu, khóa API, token truy cập hay dữ liệu riêng thành Base64 không bảo vệ chúng. Ai lấy được chuỗi đã mã hóa thường giải được. Hãy dùng kho bí mật thật và mã hóa bảo mật khi cần tính kín.
Sao vẫn dùng Base64 nếu không phải mã hóa bảo mật?
Hệ thống chờ chữ thường không mang được nhị phân thô. Base64 dùng để biểu diễn nhị phân trong định dạng chữ, nhúng tài nguyên nhị phân nhỏ, chuyển byte qua kênh chỉ chữ, tạo Data URL, xuất hiện trong một số ngữ cảnh thư/MIME, và điền tải API khi lược đồ yêu cầu Base64. API không dùng Base64 “vì an ninh”. Họ dùng vì tương thích.
Vì sao Base64 làm dữ liệu to hơn?
Base64 chuẩn có đệm ánh xạ 3 byte đầu vào thành 4 ký tự. Độ dài là 4 × ceil(n / 3), n là số byte đầu vào. Ba byte thành 4 ký tự; sáu thành 8. Đó khoảng lớn hơn 33%—khoảng một phần ba—với tải thô lớn. Đầu vào nhỏ có thể khác vì đệm: một byte thành QQ== (4 ký tự). Dấu ngoặc JSON, tiền tố Data URL, nén hoặc mã hóa vận chuyển thêm có thể đổi kích thước lưu hoặc gửi. Base64 không nén dữ liệu.
Base64URL là gì?
Base64URL là biến thể an toàn cho URL và tên tệp của cùng kiểu mã hóa—không phải mã hóa bảo mật. + thành -, / thành _, và đệm thường bị bỏ. Mã hóa Base64 có thể mã hóa và giải cả Base64 chuẩn lẫn Base64URL. Quy tắc đệm tùy đặc tả. Công cụ này không phải bộ giải JWT.
Base64 có mã hóa được ảnh và tệp không?
Có. Ảnh, PDF và tệp nhị phân khác có thể thành dạng chữ Base64. Base64 không nén những tệp đó. Chữ đã mã hóa thường lớn hơn byte thô.
Data URL Base64 là gì?
Data URL có thể gom loại phương tiện, dấu mã hóa và các byte đã mã hóa trong một chuỗi:
data:image/png;base64,...
Tiện cho tài nguyên nhỏ. Nhét tệp lớn vào Data URL không phải lúc nào cũng hay: chuỗi dài ra, trang có thể chậm hơn. Coi là đánh đổi, không phải mặc định.
Mã hóa, mã hóa bảo mật và băm
Mã hóa dạng biểu diễn (gồm Base64) phục vụ biểu diễn và đảo được không cần bí mật. Mã hóa bảo mật phục vụ tính kín và dùng vật liệu khóa mật mã. Băm tạo bản tóm tắt thường được thiết kế một chiều. Độ dài đầu ra tùy thuật toán—SHA-256 và SHA-512 không cùng kích thước. Tạo mã hash có thể hiện các bản tóm tắt đó; nó không mã hóa bảo mật hay thay Base64.
Sai lầm thường gặp với Base64
Coi Base64 là mã hóa bảo mật
Nó chỉ đổi cách byte trông như chữ.
Lưu bí mật dưới dạng Base64 trần
Ai có giá trị đã mã hóa đều giải được.
Cho rằng Base64 nén dữ liệu
Không nén. Dạng chữ thường lớn hơn.
Quên phần tăng kích thước
Tính khoảng thêm một phần ba với tải thô lớn.
Nhầm Base64 với Base64URL
Bảng chữ khác nhau. Bộ giải có thể từ chối biến thể sai.
Giải bằng bảng mã ký tự sai
Base64 hoàn lại byte. Chữ vẫn cần mã khớp, thường là UTF-8.
Cho rằng = luôn xuất hiện
Đệm dùng khi cần. Một số chuỗi không có.
Vì sao chữ Unicode có thể gây vấn đề với Base64?
Base64 làm việc trên byte, không trên ký tự. Chữ phải thành byte trước—thường UTF-8. Tiếng Hàn, Nhật, Ả Rập và emoji cần bước đó. btoa() của trình duyệt trên chuỗi Unicode có thể thất bại. Mã hóa Base64 mã hóa byte UTF-8 nên chữ đó đi được khứ hồi. Nếu giải sai bộ ký tự, Base64 có thể hợp lệ mà chữ vẫn sai.
Base64 không cho tính kín. Ai có giá trị đã mã hóa thường giải được. Đừng coi chữ trông lộn xộn là bí mật được bảo vệ.
Mã hóa hoặc giải Base64 trong trình duyệt
NEXNARA Mã hóa Base64 chuyển chữ UTF-8 và tệp ngay trên máy.
Bạn có thể mã hóa hoặc giải Base64 chuẩn và Base64URL, biến tệp thành Base64 thô hoặc Data URL, rồi đưa Base64 hoặc Data URL thành bản tải về. Đầu vào không hợp lệ bị từ chối thay vì sập. Khoảng trắng bị bỏ qua; đệm thiếu được bổ sung.
Tệp trên 10 MB có thể làm chậm thẻ. Tệp trên 32 MB không được xử lý trong trình duyệt.
Việc xử lý Base64 diễn ra trong trình duyệt của bạn. Chữ hoặc tệp không gửi lên máy chủ NEXNARA cho công cụ này. Quảng cáo và tính năng khác của trang vẫn dùng mạng; tách với xử lý.
Cần mã hóa hoặc giải Base64? Mở Mã hóa Base64 rồi dán chữ hoặc thả tệp.
FAQ
Base64 có phải mã hóa bảo mật?
Không. Base64 là mã hóa dạng biểu diễn. Nó đổi cách ghi. Nó không bảo vệ tính kín.
Base64 có an toàn không?
Base64 không phải cơ chế an ninh. Đây là mã hóa thông thường. Ai có chuỗi thường giải được. An toàn tùy phần còn lại của hệ thống.
Giải Base64 không cần mật khẩu được không?
Được. Bộ giải chuẩn là đủ. Bản thân Base64 không cần mật khẩu hay khóa bí mật.
Vì sao Base64 tăng kích thước tệp?
Mỗi 3 byte thành 4 ký tự ở Base64 chuẩn có đệm (độ dài 4 × ceil(n / 3)). Đó khoảng thêm 33% với tải thô lớn. Đệm có thể đổi tỉ lệ trên đầu vào rất nhỏ.
Base64 và Base64URL khác nhau thế nào?
Base64URL dùng - và _ thay + và /, và thường bỏ đệm =. Cả hai đều là mã hóa dạng biểu diễn. Mã hóa Base64 hỗ trợ cả hai bảng chữ.
Base64 có mã hóa được ảnh và tệp không?
Có. Kết quả là chữ, không phải tệp nhỏ hơn. Dùng chế độ Tệp trong Mã hóa Base64 cho Base64 thô hoặc Data URL. Tệp ở lại trình duyệt.