Tệp và trang web

Chuyển đổi tệp sang Base64

Chạy cục bộ

Công cụ này được hiển thị bằng tiếng Anh; trang này giải thích về công cụ đó bằng ngôn ngữ của bạn.

Sử dụng Chuyển đổi tệp sang Base64

Chức năng của nó là gì?

Thả hoặc chọn một tệp để nhận nó dưới dạng data URI Base64, hoặc dán một data URI để giải mã ngược thành tệp có thể tải xuống.

Ứng dụng này hoạt động hoàn toàn trên trình duyệt của bạn: mọi thông tin bạn nhập vào đều không được tải lên.

Cách sử dụng Chuyển đổi tệp sang Base64

  1. Chọn hoặc thả tệp. Nhấp vào ô viền nét đứt để chọn tệp, hoặc kéo một tệp thả vào đó. Nếu bạn thả nhiều tệp, chỉ tệp đầu tiên được chuyển đổi.
  2. Đọc data URI. Ô bên dưới được điền data:type;base64, theo sau là tệp đã mã hóa. Dòng bên dưới hiển thị kích thước gốc, kích thước Base64 và phần tăng thêm.
  3. Sao chép kết quả. Nhấn Copy để đưa toàn bộ data URI vào bộ nhớ tạm, ví dụ để dán vào một trang thử nghiệm hoặc ghi chú vụ việc.
  4. Dán data URI để giải mã. Để thực hiện theo cách ngược lại, hãy dán một URI dữ liệu vào ô phía dưới, chẳng hạn như data:image/png;base64,... Các tham số như ;charset=utf-8, các ký tự xuống dòng, URI dữ liệu Base64 an toàn cho URL và URI dữ liệu được mã hóa bằng ký hiệu phần trăm đều được chấp nhận.
  5. Tải xuống và kiểm tra tệp. Nhấn Decode & Download (giải mã và tải xuống) để lưu tệp. Nếu tệp đến từ email hoặc trang đáng ngờ, hãy kiểm tra bằng File Type Sniffer và File Hash trước khi mở.

Ví dụ

Một ảnh nhỏ

Dữ liệu đầu vào
A small PNG file, dropped onto the box or chosen by clicking it
Kết quả trông như thế nào
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==

Original: 70 bytes | Base64: 96 bytes (37% overhead) | Data URI: 118 bytes

Hộp bên dưới hiển thị dữ liệu: image/png;base64,... và một dòng hiển thị kích thước ban đầu, kích thước Base64 (bao gồm cả phần dư thừa) và độ dài của toàn bộ URI dữ liệu: Kích thước Base64 lớn hơn khoảng một phần ba so với tệp gốc.

Nó kiểm tra những gì

Tín hiệuÝ nghĩa của điều đó là gì
Kiểu MIME sau data:Đây là kiểu mà trình duyệt báo cho tệp, thường lấy từ phần mở rộng của tên tệp. Nó không chứng minh tệp thực sự chứa gì, nên một tệp bị đổi tên vẫn giữ kiểu gây hiểu lầm.
Kích thước gốcKích thước tệp tính bằng KB với một chữ số thập phân. Tệp nhỏ hơn khoảng 50 byte hiển thị 0.0 KB, đó là do làm tròn, không phải tệp rỗng.
Kích thước Base64 và phần tăng thêmĐộ dài phần Base64, không tính tiền tố data:type;base64,, và mức lớn hơn so với tệp. Tệp lớn ổn định quanh 33 phần trăm; tệp rất nhỏ hiển thị cao hơn do phần đệm (padding).
Tên tệp sau khi giải mãTệp tải xuống có tên là “decoded.” kèm theo phần mở rộng dựa trên loại MIME, chẳng hạn như “decoded.png”, “decoded.txt” đối với loại text/plain hoặc “decoded.bin” khi không chỉ định loại. Dòng chữ bên dưới nút hiển thị tên tệp, dung lượng và loại tệp.
Nội dung hiển thị bên dưới nútMột URI dữ liệu không thể đọc được, hoặc mã Base64 chứa các ký tự nằm ngoài phạm vi A–Z, a–z, 0–9, + và /, sẽ hiển thị một thông báo bên dưới nút thay vì cho phép tải xuống.
Dữ liệu ở lại trên máyViệc mã hóa dùng FileReader của trình duyệt và việc giải mã tạo tệp trong bộ nhớ, nên tệp và văn bản được dán không bị công cụ này gửi đi đâu cả.

Các ví dụ khác

Văn bản kiểm thử RFC 4648

Dữ liệu đầu vào
A text file foobar.txt that contains only the six letters foobar, with no line break
Kết quả

data:text/plain;base64,Zm9vYmFy và dòng Original: 0.0 KB | Base64: 0.0 KB (33% overhead). Zm9vYmFy là vector kiểm thử RFC 4648 đã được công bố cho foobar.

Giải mã một đoạn văn bản ngắn

Dữ liệu đầu vào
data:text/plain;base64,Zm9vYg==
Kết quả

Chức năng “Decode & Download” sẽ lưu một tệp 4 byte có tên là decoded.txt, chứa chuỗi văn bản “foob”, và dòng văn bản bên dưới nút sẽ hiển thị tên tệp, kích thước của tệp và loại tệp là text/plain.

Ảnh SVG với phần mở rộng lạ

Dữ liệu đầu vào
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLz4=
Kết quả

Trình duyệt lưu một ảnh SVG trống 41 byte tên decoded.svg+xml. Đổi tên thành .svg nếu bạn muốn xem nó.

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

Công cụ tạo ra gì?

Một URI dữ liệu có dạng data:type;base64,data, sử dụng loại MIME mà trình duyệt của bạn báo cáo cho tệp đó (application/octet-stream nếu trình duyệt không báo cáo loại nào). Mã hóa Base64 làm cho kích thước dữ liệu tăng thêm khoảng một phần ba, và đây là một phương thức mã hóa mà bất kỳ ai cũng có thể giải mã, chứ không phải là mã hóa bảo mật.

Decode & Download có thể đọc được những URI dữ liệu nào?

Các URI dữ liệu Base64 như data:image/png;base64,... hoặc data:text/plain;charset=utf-8;base64,..., kể cả những URI có dấu ngắt dòng hoặc ký tự an toàn cho URL, và các URI được mã hóa theo ký hiệu phần trăm không chứa ;base64; các trường hợp khác sẽ hiển thị thông báo dưới nút. Các tệp được giải mã từ tệp đính kèm lừa đảo có thể gây hại, vì vậy hãy kiểm tra chúng bằng File Type Sniffer trước khi mở.

Tệp có bị tải lên không?

Không. Tệp được đọc bằng API FileReader và URI dữ liệu được tạo ngay trên trang này; không có tệp nào được tải lên. Các tệp có dung lượng tối đa 50 MB sẽ được chuyển đổi, vì URI dữ liệu có dung lượng lớn hơn có thể khiến tab bị treo.

Tại sao email hoặc trang phishing chứa một chuỗi data:... dài?

Tệp đính kèm HTML và trang phishing thường nhúng logo, phông chữ, script hoặc cả tệp dưới dạng data URI Base64. Khi đó nội dung đi kèm bên trong trang thay vì được tải từ một địa chỉ riêng. Giải mã chuỗi đó ở đây cho bạn thấy những gì ẩn bên trong mà không cần mở trang gốc.

Tôi có thể giải mã Base64 thuần không có tiền tố data: không?

Đúng vậy, nếu bạn thêm vào. Hãy nhập “data:application/octet-stream;base64” vào đầu chuỗi và nhấn “Giải mã & Tải xuống”; bạn sẽ nhận được một tệp có tên là decoded.bin. Đối với văn bản ngắn, công cụ Mã hóa/Giải mã Base64 sẽ nhanh hơn.

Tại sao phần tăng thêm vượt quá 33 phần trăm với tệp nhỏ?

Base64 biến mỗi 3 byte thành 4 ký tự và đệm nhóm cuối bằng dấu =. Với tệp vài byte, phần đệm đó chiếm tỷ lệ lớn, nên tệp 1 byte hiển thị 300 phần trăm. Từ vài kilobyte trở lên, con số này luôn gần 33 phần trăm.

Mở tệp SVG hoặc HTML được giải mã từ một tin nhắn đáng ngờ có an toàn không?

Không an toàn nếu mở trong trình duyệt thông thường của bạn. Tệp SVG và HTML có thể chứa script và liên kết chạy khi được mở. Hãy xem kiểu tệp và hash trước, và chỉ mở các tệp như vậy trong sandbox hoặc trên một máy phân tích riêng.

Giải thích các thuật ngữ

Nghiên cứu của PhishDestroy