Chuyển đến nội dung

Giải mã Base64

Dán Base64 và nhận lại đúng thứ ban đầu — văn bản, ảnh, PDF, bất cứ thứ gì. Phần đệm bị hỏng, ngắt dòng và biến thể an toàn cho URL đều được tự động sửa. Không lưu trữ gì cả.

  • Không bao giờ lưu trữ
  • Không xếp hàng, không phải chờ
  • Không cần đăng ký, không watermark
Đã giải mã

Dán Base64 vào, nội dung giải mã sẽ hiện ở đây.

Cách hoạt động

1

Dán chuỗi Base64

Có ngắt dòng, thiếu phần đệm, dạng an toàn cho URL hay nằm trong khối PEM — đều được chấp nhận, và mỗi lần sửa đều được thông báo.

2

Xem nó là gì

Văn bản được hiển thị dưới dạng văn bản. Dữ liệu nhị phân được nhận diện qua chính các byte của nó — PNG, PDF, ZIP — và được cung cấp để tải xuống với đúng phần mở rộng.

3

Sao chép hoặc lưu

Sao chép văn bản, hoặc tải xuống file đã khôi phục.

Thứ nhận lại được là gì

Thứ Base64 chứa là các byte, và trang chỉ hiển thị chúng dưới dạng văn bản khi chúng giải mã thành UTF-8 hợp lệ mà không có ký tự nào bị thay thế. Bộ giải mã chạy ở chế độ nghiêm ngặt, nên một chuỗi byte không phải UTF-8 sẽ không tạo ra văn bản nào thay vì cả màn hình ký tự thay thế — điều này là cố ý, vì một mảng hình thoi chứa dấu hỏi trông như kết quả mà thật ra không phải. Khi không có văn bản, bạn nhận các byte dưới dạng file tải xuống, với phần mở rộng được đọc từ chính vài byte đầu tiên: PNG, JPEG, GIF, WebP, PDF, gzip, ZIP, RAR, 7z và ba định dạng phông chữ web đều được nhận diện, và file ZIP được mở ra đủ để phân biệt .docx, .xlsx, .pptx hay .epub với một file nén thông thường. Mọi thứ không nhận diện được và không phải văn bản sẽ trả về dạng .bin.

Các thao tác sửa lỗi đáng để hiểu, vì một trong số đó là phỏng đoán chứ không phải quy tắc. Bỏ ngắt dòng, bỏ các dòng bao ngoài của PEM và thêm phần đệm còn thiếu đều không có gì mơ hồ — chuỗi chỉ có thể là đúng một thứ. Dấu cách thì không như vậy. Nó có thể là khoảng trắng ngẫu nhiên, hoặc có thể là một dấu “+” đã bị URL biến thành dấu cách ở đâu đó trên đường truyền. Cả hai cách đọc đều được thử, “+” trước, và cách đầu tiên giải mã được là kết quả bạn thấy; khi một chuỗi giải mã được theo cả hai cách thì không gì cho bạn biết ý định ban đầu là gì, nên hãy xem kết quả trước khi tin nó. Một chuỗi trộn lẫn hai bảng ký tự — có “+” hoặc “/” cùng với “-” hoặc “_” — hoàn toàn không được sửa, vì không có cách đọc nào là đúng.

Khi bạn cần công cụ khác

Máy của bạn đã làm được việc này. base64 -d trên macOS và Linux, certutil -decode trên Windows, openssl base64 -d ở mọi nơi, hoặc một dòng Python — tất cả đều nhận file thay vì clipboard, và không cái nào liên quan đến trang web. Với một thông tin xác thực đang có hiệu lực ngay lúc này, đó đơn giản là thói quen tốt hơn, bất kể trang nào hứa hẹn gì, kể cả trang này. Lời khẳng định trên trang này là thật, và cách để kiểm chứng nó là ngắt mạng sau khi trang tải xong rồi xem bộ giải mã vẫn tiếp tục hoạt động — chứ không phải chính câu chữ đó. Và nếu bạn đã lỡ dán một bí mật đang dùng được vào nơi bạn không thể kiểm tra, hãy thay nó. Thay mất một phút; còn suy xét xem liệu nó có an toàn không thì không bao giờ kết thúc.

Giới hạn còn lại là dung lượng. Chuỗi được giữ dưới dạng văn bản và kết quả lại được giữ dưới dạng byte, nên data URI của một ảnh lớn chiếm bộ nhớ của tab gấp vài lần, và thứ gì đó cỡ hàng trăm megabyte sẽ lỗi ở đây trong khi bộ giải mã dòng lệnh xử lý theo luồng mà chẳng hề hấn gì. Giải mã một cột trong bản dump cơ sở dữ liệu, hay mọi data URI trong một stylesheet, cũng có cùng câu trả lời vì một lý do khác: đó là việc của một script, không phải một lần dán.

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

Chuỗi Base64 của tôi có bị lưu ở đâu không?

Không. Không lưu trữ gì cả, không ghi log gì cả, và không máy chủ nào nhìn thấy nó — và công cụ vẫn hoạt động khi đã ngắt mạng. Với những công cụ này, đó không phải là chuyện cho có. Thứ người ta dán vào các công cụ mã hóa và giải mã online thường là dữ liệu đang có hiệu lực: token phiên đăng nhập, khóa API, header Authorization, dữ liệu khách hàng. Dán một thứ như vậy vào một trang gửi nó đi đâu đó là làm lộ thông tin, bất kể trang đó hứa hẹn gì về việc xóa.

Công cụ báo Base64 không hợp lệ, nhưng tôi đã sao chép đúng

Có bốn thứ thường làm hỏng một chuỗi được sao chép, và cả bốn đều được tự động sửa ở đây thay vì bị từ chối. Ngắt dòng từ header email, khối PEM hoặc kiểu ngắt dòng MIME được bỏ đi. Phần đệm = bị thiếu được thêm vào. Bảng ký tự an toàn cho URL (- và _ thay cho + và /) được nhận diện và chuyển đổi. Và dấu cách được thử theo CẢ HAI cách — như khoảng trắng ngẫu nhiên, và như ký tự + đã bị URL biến thành dấu cách, điều xảy ra mỗi khi Base64 đi qua một query string. Mỗi lần sửa đều được nêu tên trong kết quả, nên bạn thấy được chuỗi của mình thực sự là gì. Nếu vẫn lỗi, nghĩa là thực sự có một ký tự bị mất khi sao chép, và trang sẽ cho biết đó là ký tự nào.

Công cụ có giải mã được JWT không?

Nó sẽ giải mã từng phần, nhưng trang Giải mã JWT phù hợp hơn cho việc đó — nó tách ba phần, định dạng JSON, chuyển dấu thời gian thành ngày giờ thực và cho bạn biết token đã hết hạn hay chưa. Đừng dán token phiên đăng nhập đang có hiệu lực vào một công cụ giải mã chung chung ở bất cứ đâu; trên trang này thì dù sao nó cũng không bao giờ bị lưu trữ, nhưng điều đó không đúng với phần lớn các trang khác.

Điều gì xảy ra với ảnh hoặc PDF?

Nó được nhận diện và cung cấp để tải xuống. Loại file được xác định từ chính các byte đã giải mã chứ không từ bất cứ điều gì bạn cho chúng tôi biết — chữ ký PNG, header PDF, dấu hiệu ZIP — nên file tải xuống có đúng phần mở rộng kể cả khi tên gốc đã mất từ lâu. Ảnh được xem trước ngay trong trang.

“đọc theo Base64URL” trong kết quả nghĩa là gì?

Nghĩa là chuỗi của bạn dùng bảng ký tự an toàn cho URL, trong đó - và _ thay cho + và /. Đây là biến thể được dùng bởi JWT, OAuth và mọi thứ được truyền trong URL. Hai bảng ký tự giải mã ra các byte khác nhau, nên nhầm lẫn sẽ gây hỏng dữ liệu âm thầm chứ không báo lỗi — vì vậy nó được nhận diện và thông báo chứ không phải tự giả định.

Tôi có thể giải mã an toàn thứ mà ai đó gửi cho tôi không?

Bản thân việc giải mã là an toàn — không có gì được thực thi, và không lưu trữ gì cả. Nhưng hãy cẩn thận với thứ nhận được. Base64 là cách phổ biến để giấu script hoặc file thực thi độc hại khỏi bộ lọc thư, nên hãy đối xử với một file giải mã từ nguồn không rõ đúng như với một file đính kèm lạ.

Có giới hạn dung lượng không?

Giới hạn là bộ nhớ khả dụng, chứ không phải mức trần cố định. Chuỗi lớn vẫn giải mã tốt.

Nên biết: Thứ nhận được là các byte, và byte không tự nói chúng là gì. Loại file được đoán từ magic number ở đầu dữ liệu, cách này đáng tin với các định dạng phổ biến và không báo gì với những định dạng còn lại. Base64 vốn không hợp lệ sẽ giải mã ra dữ liệu vô nghĩa thay vì báo lỗi, nên hãy kiểm tra kết quả trông có hợp lý không.

Đặt công cụ này lên website của bạn

Miễn phí cho mọi blog, trang lớp học hay bài viết hướng dẫn. Chỉ cần dán một đoạn mã là khách truy cập có thể dùng ngay trên trang của bạn.