UltKit

JSON'dan Base64'e Kodlayıcı

Bir JSON dosyasını, tırnakların, süslü parantezlerin ve satır sonlarının sorun çıkaracağı ortam değişkenlerinde, YAML alanlarında ve API gövdelerinde bozulmadan kalan tek satırlık bir Base64 metnine dönüştürün. Kodu çözdüğünüzde birebir aynı baytları geri alırsınız.

Veri Dönüştürücü

veya CSV, TSV, TXT … dosyaları buraya bırakın ·

Dosya başına en fazla 95 MB· En fazla 20 dosya· 30 dakika sonra silinir

Çıktı

Dosyalar sunucularımızda işlenir ve 30 dakika sonra silinir.

Bu aracı nasıl kullanırsınız

  1. 1

    JSON dosyasını yükleyin

    Bir .json, .jsonl veya .ndjson dosyası ekleyin; örneğin bir servis hesabı anahtarı ya da bir yapılandırma dosyası. Her seferde en fazla 20 dosya, her biri en çok 95 MB olabilir.

  2. 2

    Öneki seçin

    Düz Base64 seçili gelir. Metin, data: URL bekleyen bir HTML veya CSS özniteliğine gidecekse Gelişmiş ayarlar altındaki Data URI ön eki seçeneğini açın.

  3. 3

    Kodlayın ve kopyalayın

    Base64 metnine Dönüştür düğmesine basın, sonucu indirin ve diziyi gizli bilgi deponuza, manifest dosyanıza veya istek gövdesine yapıştırın.

JSON'u Base64 olarak kodlamak veriyi değiştirmez; süslü parantezleri, tırnakları ve satır sonlarını bozacak ortamlardan geçebilsin diye veriyi düz harf ve rakamlara dönüştürür.

JSON dosyası neden Base64 ile kodlanır

En tipik durum bir kimlik bilgileri dosyasıdır. Bulut sağlayıcınız servis hesabı anahtarını JSON dosyası olarak verir, CI sisteminiz, barındırma panel- ya da konteyner platformunuz ise gizli bilgiler için yalnızca tek satırlık bir metin alanı sunar. Ham JSON'u yapıştırmak ilk satır sonunda ya da ilk kaçışsız tırnakta bozulur. Base64 olarak kodlandığında aynı anahtar kesintisiz tek bir dizeye dönüşür ve uygulama bunu başlangıçta çözer.

Base64'ün kökeni e-postaya dayanır: 1996'da RFC 2045'te tanımlanan MIME, ekler yalnızca 7 bit metin taşıyan posta sunucularından geçebilsin diye onu kullandı. Alfabe daha sonra, 2006'da RFC 4648 ile ayrıca standartlaştırıldı. Bedeli boyuttur; her 3 bayt 4 karakter olur. Görseller ve diğer ikili dosyalar için Resmi Base64'e dönüştürme aracı aynı kodlamayı uygun bir data URI ile yapar. Alıcı araç Base64 alanı yerine YAML okuyorsa JSON'dan YAML'a dönüştürmek yeterli olabilir.

JSON'dan Base64'e örnek

Sıkıştırılmış JSON {"env":"prod","retries":3} ve Base64 kodlaması
{"env":"prod","retries":3}

eyJlbnYiOiJwcm9kIiwicmV0cmllcyI6M30=

Base64 kodlu JSON'un beklendiği yerler

JSON'u yalnızca Base64 olarak kabul eden yerler
KurumGereksinimKaynak
Kubernetes Secretsdata altındaki her değer Base64 olmalıdır; bir JSON anahtar dosyasını bağlamak için önce kodlayın.kubernetes.io
GitHub REST APIDosya içeriği oluşturma veya güncelleme uç noktası, bir .json dosyası dahil dosyayı content içinde Base64 olarak bekler.docs.github.com
JSON Web Tokens (RFC 7519)JSON başlığı ve talepler ayrı ayrı base64url ile kodlanır ve noktalarla birleştirilir.—
E-posta ekleri (MIME)Bir .json eki, yalnızca metin taşıyan posta sunucularından geçebilsin diye Base64 aktarım kodlamasıyla gönderilir.—
Base64Base 64 kodlaması · RFC 4648 kodlaması
Herhangi bir bayt dizisini 64 güvenli karakterle yazma yöntemi: A–Z, a–z, 0–9, + ve /; dolgu için = kullanılır. Her 3 giriş baytı 4 çıkış karakteri olur, bu yüzden metin dosyadan yaklaşık üçte bir uzundur. Geri döndürülebilir ve anahtar içermez; yani bir güvenlik önlemi değil, bir aktarım biçimidir.

JSON ve Base64 format bilgileri

JSON

JavaScript Nesne Gösterimi (JSON)

JSON, yapılandırılmış veriler için hafif bir metin biçimidir; 2000'lerin başında Douglas Crockford tarafından yaygınlaştırılmış ve RFC 8259 ile ECMA-404 olarak standartlaştırılmıştır. Nesneleri, dizileri, dizgileri, sayıları, mantıksal değerleri ve null'ı basit, okunabilir bir sözdizimiyle gösterir. Web API'leri, yapılandırma dosyaları ve neredeyse her programlama dilindeki uygulamalar arasında veri alışverişi için varsayılan biçimdir. Yorum, tarih veya şema desteği yoktur; büyük iç içe dosyaları bir görüntüleyici olmadan okumak zordur.

Sıkıştırma
–
Saydamlık
–
Animasyon
–
Çıkış yılı
2001 · Douglas Crockford
JSON dönüştürücü

BASE64

Base64 kodlu metin

Base64, RFC 4648'de tanımlanan ve her tür ikili veriyi 64 güvenli metin karakterinden oluşan bir diziye çeviren bir kodlamadır. Görselleri HTML ve CSS'e veri URI'si olarak gömmek, e-postaya dosya eklemek ve ikili veriyi JSON veya XML içinde göndermek için kullanılır. Kodlama tamamen geri çevrilebilir, ancak veriyi yaklaşık %33 büyütür. Base64 şifreleme değildir ve güvenlik sağlamaz; herkes çözebilir.

Sıkıştırma
Kayıpsız
Saydamlık
–
Animasyon
–
Çıkış yılı
–
BASE64 dönüştürücü

Yapılandırılmış bir veri, ham tırnak ve satır sonlarını kabul etmeyen tek bir metin alanına sığdırılacaksa JSON, Base64 olarak kodlanır: CI sırrı, Kubernetes manifesti, bir API'nin content alanı veya başlık değeri gibi.

JSON'dan Base64'e sık sorulan sorular

Base64 ile kodlanmış JSON şifreli midir?

Hayır. Base64 bir kodlamadır ve herkes tek bir komutla çözebilir. Kubernetes belgeleri de Secret nesnelerinin varsayılan olarak yalnızca Base64 ile kodlandığını ve şifrelenmeden saklandığını belirtir. Bu yüzden kodlanmış diziyi, orijinal anahtarı koruduğunuz gibi koruyun.

Token veya URL için Base64 mü, base64url mi gerekir?

Burada üretilen standart Base64, + ve / karakterlerini kullanır ve sonuna = ile dolgu ekler. JWT'ler ve URL parametreleri ise RFC 4648'deki base64url alfabesini kullanır; bu alfabe - ve _ karakterlerini kullanır ve dolgu genellikle atılır. Hedef sistem base64url bekliyorsa bu üç karakteri değiştirin.

Kodlamadan önce JSON'u küçültmeli miyim?

Genellikle evet. Boşluklar, girintiler ve satır sonları da diğer baytlar gibi baytlardır ve her 3 bayt çıktıda 4 karakter olur. Girintili bir yapılandırmayı önce örneğin jq -c ile sıkıştırırsanız kodlanmış dize de buna göre kısalır.

Base64 metnini tekrar JSON'a nasıl çeviririm?

macOS veya Linux'ta base64 --decode, PowerShell'de [Convert]::FromBase64String kullanın. Tarayıcıda ise UTF-8 karakterlerin doğru geri gelmesi için atob sonucunu bir TextDecoder'dan geçirin.

kubectl neden illegal base64 data hatası veriyor?

Secret manifestinde data altındaki değer, tek satırlık geçerli bir Base64 olmalıdır. Bu hata genellikle yapıştırırken araya bir satır sonu girdiği ya da data altına düz JSON konulduğu anlamına gelir. Düz değerler stringData altına yazılır; Kubernetes bunları sizin için kodlar.

Kodlama JSON'umun içinde bir şeyi değiştirir mi?

Hayır. Base64 baytları kayıpsız biçimde metne çevirir ve geri döndürür. Anahtarlar, değerler, aksanlı karakterler ve dosyanın başındaki bayt sırası işareti bile çözüldüğünde aynen geri gelir.