UltKit

Chuyển JSON sang Base64

Biến file JSON thành một dòng văn bản Base64 duy nhất, dùng an toàn trong biến môi trường, trường YAML và nội dung API, nơi dấu ngoặc kép, dấu ngoặc nhọn và xuống dòng dễ gây lỗi. Khi giải mã, bạn nhận lại đúng các byte ban đầu.

Chuyển đổi dữ liệu

hoặc thả tệp CSV, TSV, TXT … vào đây ·

Tối đa 95 MB mỗi tệp· Tối đa 20 tệp· Xóa sau 30 phút

Đầu ra

Tệp được xử lý trên máy chủ của chúng tôi và bị xóa sau 30 phút.

Cách sử dụng công cụ này

  1. 1

    Tải lên file JSON

    Thêm một file .json, .jsonl hoặc .ndjson, chẳng hạn khóa service account hoặc file cấu hình. Tối đa 20 file mỗi lượt, mỗi file 95 MB.

  2. 2

    Chọn có dùng tiền tố hay không

    Mặc định là Base64 thuần. Chỉ bật Tiền tố Data URI trong Cài đặt nâng cao khi đoạn văn bản được đưa vào thuộc tính HTML hoặc CSS cần URL dạng data:.

  3. 3

    Mã hóa và sao chép

    Nhấn Chuyển sang Base64 text →, tải kết quả xuống rồi dán chuỗi vào nơi lưu bí mật, manifest hoặc nội dung request của bạn.

Mã hóa JSON sang Base64 không làm thay đổi dữ liệu; nó đóng gói lại thành chữ cái và chữ số thông thường để truyền qua những nơi vốn làm hỏng dấu ngoặc, dấu nháy và xuống dòng.

Vì sao nên mã hóa file JSON sang Base64

Trường hợp điển hình là file thông tin xác thực. Nhà cung cấp đám mây đưa cho bạn khóa service account dạng file JSON, còn hệ thống CI, trang quản trị hosting hay nền tảng container chỉ có ô nhập một dòng cho secret. Dán JSON thô sẽ lỗi ngay ở dấu xuống dòng đầu tiên hoặc dấu nháy chưa escape đầu tiên. Khi mã hóa Base64, cùng khóa đó thành một chuỗi liền mạch để ứng dụng giải mã lúc khởi động.

Bản thân Base64 bắt nguồn từ email: MIME, định nghĩa trong RFC 2045 năm 1996, dùng nó để tệp đính kèm đi qua các máy chủ thư chỉ truyền văn bản 7-bit. Bảng ký tự sau đó được chuẩn hóa riêng trong RFC 4648 năm 2006. Cái giá là dung lượng, vì cứ 3 byte thành 4 ký tự. Với ảnh và các file nhị phân khác, Chuyển ảnh sang Base64 mã hóa tương tự kèm data URI phù hợp. Nếu công cụ nhận đọc YAML thay vì trường Base64, có thể bạn chỉ cần JSON sang YAML.

Ví dụ chuyển JSON sang Base64

JSON rút gọn {"env":"prod","retries":3} và bản mã hóa Base64
{"env":"prod","retries":3}

eyJlbnYiOiJwcm9kIiwicmV0cmllcyI6M30=

Những nơi yêu cầu JSON dạng Base64

Nơi chỉ chấp nhận JSON ở dạng Base64
Tổ chứcYêu cầuNguồn
Kubernetes SecretsMọi giá trị dưới data phải là Base64; hãy mã hóa file khóa JSON trước khi gắn vào.kubernetes.io
GitHub REST APIEndpoint tạo hoặc cập nhật nội dung file yêu cầu file, kể cả file .json, ở dạng Base64 trong content.docs.github.com
JSON Web Tokens (RFC 7519)Header và claims JSON được mã hóa riêng bằng base64url rồi nối với nhau bằng dấu chấm.—
Tệp đính kèm email (MIME)Tệp đính kèm .json được gửi với mã hóa truyền Base64 để đi qua các máy chủ thư chỉ hỗ trợ văn bản.—
Base64Mã hóa Base 64 · Mã hóa RFC 4648
Cách viết bất kỳ chuỗi byte nào bằng 64 ký tự an toàn: A–Z, a–z, 0–9, + và /, với = làm ký tự đệm. Mỗi nhóm 3 byte đầu vào thành 4 ký tự đầu ra, nên văn bản dài hơn file khoảng một phần ba. Nó đảo ngược được và không có khóa, nên là định dạng truyền tải chứ không phải biện pháp bảo mật.

Thông tin về định dạng JSON và Base64

JSON

Dữ liệu JavaScript Object Notation (JSON)

JSON là định dạng văn bản gọn nhẹ cho dữ liệu có cấu trúc, được Douglas Crockford phổ biến đầu thập niên 2000 và chuẩn hóa thành RFC 8259 và ECMA-404. Định dạng biểu diễn object, mảng, chuỗi, số, boolean và null bằng cú pháp đơn giản, dễ đọc. JSON là định dạng mặc định cho API web, tệp cấu hình và trao đổi dữ liệu giữa các ứng dụng trong hầu hết ngôn ngữ lập trình. Định dạng không có sẵn chú thích, kiểu ngày tháng hay schema, và tệp lớn lồng nhiều cấp rất khó đọc nếu không có trình xem.

Nén
–
Độ trong suốt
–
Ảnh động
–
Ra mắt
2001 · Douglas Crockford
Công cụ chuyển đổi JSON

BASE64

Văn bản mã hóa Base64

Base64 là một kiểu mã hóa, được định nghĩa trong RFC 4648, biến mọi dữ liệu nhị phân thành chuỗi gồm 64 ký tự văn bản an toàn. Kiểu mã hóa này được dùng để nhúng ảnh vào HTML và CSS dưới dạng data URI, đính kèm tệp vào email và gửi dữ liệu nhị phân trong JSON hoặc XML. Quá trình mã hóa hoàn toàn có thể đảo ngược nhưng làm dữ liệu lớn hơn khoảng 33%. Base64 không phải là mã hóa bảo mật và không mang lại an toàn nào; bất kỳ ai cũng giải mã được.

Nén
Không mất dữ liệu
Độ trong suốt
–
Ảnh động
–
Ra mắt
–
Công cụ chuyển đổi BASE64

JSON được mã hóa thành Base64 khi dữ liệu có cấu trúc phải nằm trong một trường chuỗi duy nhất không nhận dấu ngoặc kép và xuống dòng thô: secret CI, manifest Kubernetes, trường content của API hoặc giá trị header.

Câu hỏi thường gặp về chuyển JSON sang Base64

JSON mã hóa Base64 có được bảo mật (mã hóa bí mật) không?

Không. Base64 chỉ là cách mã hóa, ai cũng giải mã được bằng một lệnh. Chính tài liệu Kubernetes cũng cảnh báo Secret chỉ được mã hóa Base64 và mặc định lưu không mã hóa, nên hãy bảo vệ chuỗi đã mã hóa giống hệt như khóa gốc.

Token hoặc URL cần Base64 hay base64url?

Base64 chuẩn như ở đây dùng + và /, đệm bằng =. JWT và tham số URL dùng bảng ký tự base64url theo RFC 4648, thay bằng - và _ và thường bỏ phần đệm. Hãy thay ba ký tự đó nếu nơi nhận yêu cầu base64url.

Có nên thu gọn (minify) JSON trước khi mã hóa không?

Thường là có. Dấu cách, thụt lề và xuống dòng cũng là byte như mọi byte khác, và cứ 3 byte thành 4 ký tự đầu ra. Rút gọn file cấu hình trước, ví dụ bằng jq -c, sẽ làm chuỗi mã hóa ngắn đi tương ứng.

Làm sao giải mã chuỗi Base64 trở lại JSON?

Trên macOS hoặc Linux chạy base64 --decode, trong PowerShell dùng [Convert]::FromBase64String, còn trong trình duyệt hãy đưa kết quả của atob qua TextDecoder để các ký tự UTF-8 hiển thị đúng.

Vì sao kubectl báo lỗi illegal base64 data?

Giá trị dưới data trong manifest Secret phải là Base64 hợp lệ trên một dòng. Lỗi này thường do lọt dấu xuống dòng khi dán, hoặc để JSON thuần dưới data. Giá trị thuần nên đặt dưới stringData, Kubernetes sẽ tự mã hóa giúp bạn.

Mã hóa có làm thay đổi nội dung JSON không?

Không. Base64 chuyển byte thành văn bản và ngược lại không mất dữ liệu, nên khóa, giá trị, ký tự có dấu và cả byte order mark ở đầu file đều được khôi phục chính xác khi giải mã.