UltKit

Codare JSON în Base64

Transformați un fișier JSON într-o singură linie de text Base64, care rezistă în variabile de mediu, câmpuri YAML și corpuri de cereri API, unde ghilimelele, acoladele și trecerile la rând nou ar crea probleme. La decodare obțineți exact aceiași octeți.

Convertor de date

sau trage Fișiere CSV, TSV, TXT … aici ·

Maximum 95 MB per fișier· Până la 20 fișiere· Șterse după 30 minute

Rezultat

Fișierele sunt procesate pe serverele noastre și șterse după 30 minute.

Cum se folosește acest instrument

  1. 1

    Încărcați fișierul JSON

    Adăugați un fișier .json, .jsonl sau .ndjson, de exemplu o cheie de cont de serviciu sau un fișier de configurare. Cel mult 20 de fișiere per lot, câte 95 MB fiecare.

  2. 2

    Alegeți prefixul

    Este setat Base64 simplu. Activați Prefix Data URI din Setări avansate doar dacă textul ajunge într-un atribut HTML sau CSS care așteaptă un URL de tip data:.

  3. 3

    Codați și copiați

    Apăsați Convertește în Base64 text, descărcați rezultatul și lipiți șirul în depozitul de secrete, în manifest sau în corpul cererii.

Codificarea JSON în Base64 nu schimbă datele; le reambalează în litere și cifre simple, ca să poată trece prin locuri care ar strica acoladele, ghilimelele și sfârșiturile de rând.

De ce să codați un fișier JSON în Base64

Cazul tipic este un fișier de credențiale. Un furnizor de cloud vă oferă o cheie de cont de serviciu ca fișier JSON, iar sistemul CI, panoul de hosting sau platforma de containere oferă doar un câmp text pe o singură linie pentru secrete. Lipirea JSON-ului brut se strică la primul sfârșit de rând sau la prima ghilimea neescapată. Codificată în Base64, aceeași cheie este un șir continuu, pe care aplicația îl decodează la pornire.

Base64 provine din e-mail: MIME, definit în RFC 2045 în 1996, îl folosea pentru ca atașamentele să treacă prin servere de e-mail care transportau doar text pe 7 biți. Alfabetul a fost standardizat separat în RFC 4648, în 2006. Prețul este mărimea, deoarece fiecare 3 octeți devin 4 caractere. Pentru imagini și alte fișiere binare, Imagine în Base64 face aceeași codificare, cu un data URI potrivit. Dacă instrumentul care primește datele citește YAML, nu un câmp Base64, poate vă ajunge JSON în YAML.

Exemplu de codare JSON în Base64

JSON compact {"env":"prod","retries":3} și codificarea lui Base64
{"env":"prod","retries":3}

eyJlbnYiOiJwcm9kIiwicmV0cmllcyI6M30=

Unde se cere JSON codat în Base64

Locuri care acceptă JSON doar în Base64
OrganizațieCerințăSursă
Kubernetes SecretsFiecare valoare de sub data trebuie să fie Base64; pentru a monta un fișier cheie JSON, codificați-l mai întâi.kubernetes.io
GitHub REST APIEndpointul de creare sau actualizare a conținutului unui fișier așteaptă fișierul, inclusiv un fișier .json, ca Base64 în content.docs.github.com
JSON Web Tokens (RFC 7519)Antetul JSON și revendicările sunt codificate fiecare cu base64url și unite prin puncte.—
Atașamente de e-mail (MIME)Un atașament .json este trimis cu codificare de transfer Base64, ca să treacă prin servere de e-mail care acceptă doar text.—
Base64Codificare Base 64 · Codificare RFC 4648
O metodă de a scrie orice octeți folosind 64 de caractere sigure: A–Z, a–z, 0–9, + și /, cu = pentru completare. Fiecare grup de 3 octeți de intrare devine 4 caractere de ieșire, deci textul este cu aproximativ o treime mai lung decât fișierul. Este reversibilă și nu folosește nicio cheie, deci este un format de transport, nu o măsură de securitate.

Informații despre formatele JSON și Base64

JSON

JavaScript Object Notation

JSON este un format text ușor pentru date structurate, popularizat de Douglas Crockford la începutul anilor 2000 și standardizat ca RFC 8259 și ECMA-404. Reprezintă obiecte, liste, șiruri de caractere, numere, valori booleene și null printr-o sintaxă simplă și lizibilă. Este formatul implicit pentru API-uri web, fișiere de configurare și schimbul de date între aplicații în aproape toate limbajele de programare. Nu are comentarii, date calendaristice sau scheme încorporate, iar fișierele mari, cu multe niveluri, sunt greu de citit fără un vizualizator.

Compresie
–
Transparență
–
Animație
–
Introdus în
2001 · Douglas Crockford
Convertor JSON

BASE64

Text codificat Base64

Base64 este o codificare, definită în RFC 4648, care transformă orice date binare într-un șir de 64 de caractere text sigure. Se folosește pentru a încorpora imagini în HTML și CSS ca URI de date, pentru a atașa fișiere la e-mail și pentru a trimite date binare în JSON sau XML. Codificarea este complet reversibilă, dar mărește datele cu aproximativ 33%. Base64 nu este criptare și nu oferă securitate; oricine îl poate decodifica.

Compresie
Fără pierderi
Transparență
–
Animație
–
Introdus în
–
Convertor BASE64

JSON-ul se codifică în Base64 când o structură de date trebuie să încapă într-un singur câmp de tip șir, care nu acceptă ghilimele și sfârșituri de rând brute: un secret CI, un manifest Kubernetes, câmpul content al unui API sau valoarea unui antet.

Întrebări despre codarea JSON în Base64

Este criptat un JSON codat în Base64?

Nu. Base64 este o codificare, iar oricine o poate decoda cu o singură comandă. Chiar documentația Kubernetes avertizează că Secrets sunt doar codificate Base64 și stocate necriptat în mod implicit, așa că protejați șirul codificat exact ca pe cheia originală.

Pentru un token sau un URL am nevoie de Base64 sau de base64url?

Base64 standard, cum este scris aici, folosește + și / și completează cu =. JWT-urile și parametrii din URL folosesc alfabetul base64url din RFC 4648, care îl înlocuiește pe + cu - și pe / cu _ și de obicei elimină completarea. Înlocuiți aceste trei caractere dacă destinația așteaptă base64url.

Trebuie să minific JSON-ul înainte de codare?

De obicei da. Spațiile, indentarea și sfârșiturile de rând sunt octeți ca oricare alții, iar fiecare 3 octeți devin 4 caractere în rezultat. Dacă mai întâi compactați o configurație formatată, de exemplu cu jq -c, șirul codificat se scurtează corespunzător.

Cum decodez șirul înapoi în JSON?

Pe macOS sau Linux rulați base64 --decode, în PowerShell folosiți [Convert]::FromBase64String, iar într-un browser trimiteți rezultatul funcției atob printr-un TextDecoder, ca three caracterele UTF-8 să revină corect.

De ce kubectl raportează illegal base64 data?

Valoarea de sub data dintr-un manifest Secret trebuie să fie Base64 valid, pe o singură linie. Eroarea înseamnă de obicei că s-a strecurat un sfârșit de rând la lipire sau că a fost pus JSON simplu sub data. Valorile simple se pun sub stringData, pe care Kubernetes le codifică pentru dvs.

Codarea modifică ceva în interiorul fișierului JSON?

Nu. Base64 transformă octeții în text și înapoi fără pierderi, deci cheile, valorile, caracterele cu diacritice și chiar un marcaj de ordine a octeților de la începutul fișierului sunt restaurate exact la decodare.