UltKit

Convertire JSON in Base64

Trasforma un file JSON in un'unica riga di testo Base64 che resta integra in variabili d'ambiente, campi YAML e corpi di richieste API, dove virgolette, parentesi graffe e a capo creerebbero problemi. Decodificandola si ottengono di nuovo esattamente gli stessi byte.

Convertitore di dati

oppure trascina qui File CSV, TSV, TXT … ·

Max 95 MB per file· Fino a 20 file· Eliminati dopo 30 minuti

Output

I file vengono elaborati sui nostri server ed eliminati dopo 30 minuti.

Come usare questo strumento

  1. 1

    Caricare il file JSON

    Aggiungere un file .json, .jsonl o .ndjson, ad esempio la chiave di un account di servizio o un file di configurazione. Fino a 20 file per lotto, 95 MB ciascuno.

  2. 2

    Scegliere il prefisso

    È già impostato il Base64 semplice. Attivare Prefisso data URI in Impostazioni avanzate solo se il testo va inserito in un attributo HTML o CSS che richiede un URL data:.

  3. 3

    Codificare e copiare

    Premere Converti in Base64 text, scaricare il risultato e incollare la stringa nel proprio archivio di segreti, nel manifest o nel corpo della richiesta.

Codificare il JSON in Base64 non ne cambia i dati: li riconfeziona in semplici lettere e cifre, così possono passare dove graffe, virgolette e a capo verrebbero alterati.

Perché codificare un file JSON in Base64

Il caso tipico è un file di credenziali. Un provider cloud fornisce la chiave di un account di servizio come file JSON, mentre il sistema di CI, la dashboard di hosting o la piattaforma di container offrono solo un campo di testo su una riga per i segreti. Incollare il JSON grezzo si interrompe al primo a capo o alla prima virgoletta senza escape. Codificata in Base64, la stessa chiave diventa un'unica stringa continua che l'applicazione decodifica all'avvio.

Il Base64 stesso nasce con l'email: MIME, definito nella RFC 2045 nel 1996, lo usava per far attraversare gli allegati ai server di posta che trasportavano solo testo a 7 bit. L'alfabeto fu poi standardizzato separatamente nella RFC 4648 nel 2006. Il prezzo è la dimensione, perché ogni 3 byte diventano 4 caratteri. Per immagini e altri file binari, Da immagine a Base64 esegue la stessa codifica con un data URI corrispondente. Se lo strumento di destinazione legge YAML e non un campo Base64, forse basta da JSON a YAML.

Esempio di conversione da JSON a Base64

JSON compatto {"env":"prod","retries":3} e la sua codifica Base64
{"env":"prod","retries":3}

eyJlbnYiOiJwcm9kIiwicmV0cmllcyI6M30=

Dove è richiesto JSON codificato in Base64

Dove il JSON è accettato solo in Base64
EnteRequisitoFonte
Kubernetes SecretsOgni valore sotto data deve essere in Base64; per montare un file di chiave JSON occorre prima codificarlo.kubernetes.io
GitHub REST APIL'endpoint per creare o aggiornare il contenuto di un file richiede il file, anche .json, in Base64 nel campo content.docs.github.com
JSON Web Tokens (RFC 7519)L'header JSON e i claim sono codificati ciascuno in base64url e uniti da punti.—
Allegati email (MIME)Un allegato .json viene inviato con codifica di trasferimento Base64 per passare attraverso server di posta solo testo.—
Base64Codifica Base 64 · Codifica RFC 4648
Un modo di scrivere qualsiasi byte con 64 caratteri sicuri: A–Z, a–z, 0–9, + e /, con = come padding. Ogni gruppo di 3 byte in ingresso diventa 4 caratteri in uscita, quindi il testo è circa un terzo più lungo del file. È reversibile e non usa alcuna chiave: è un formato di trasporto, non una misura di sicurezza.

Caratteristiche dei formati JSON e Base64

JSON

JavaScript Object Notation

JSON è un formato di testo leggero per dati strutturati, reso popolare da Douglas Crockford all'inizio degli anni 2000 e standardizzato come RFC 8259 ed ECMA-404. Rappresenta oggetti, array, stringhe, numeri, booleani e null con una sintassi semplice e leggibile. È il formato predefinito per le API web, i file di configurazione e lo scambio di dati tra app in quasi tutti i linguaggi di programmazione. Non prevede commenti, date o schemi integrati e i file annidati di grandi dimensioni sono difficili da leggere senza un visualizzatore.

Compressione
–
Trasparenza
–
Animazione
–
Introdotto
2001 · Douglas Crockford
Convertitore JSON

BASE64

Testo codificato in Base64

Base64 è una codifica, definita nella RFC 4648, che trasforma qualsiasi dato binario in una stringa di 64 caratteri di testo sicuri. Si usa per incorporare immagini in HTML e CSS come data URI, per allegare file alle email e per inviare dati binari in JSON o XML. La codifica è completamente reversibile, ma rende i dati circa il 33% più grandi. Base64 non è cifratura e non offre alcuna sicurezza: chiunque può decodificarlo.

Compressione
Senza perdita
Trasparenza
–
Animazione
–
Introdotto
–
Convertitore BASE64

Il JSON si codifica in Base64 quando un contenuto strutturato deve stare in un unico campo stringa che non accetta virgolette e a capo grezzi: un segreto di CI, un manifest Kubernetes, il campo content di un'API o il valore di un header.

Domande su JSON in Base64

Il JSON codificato in Base64 è crittografato?

No. Il Base64 è una codifica e chiunque può decodificarla con un solo comando. La stessa documentazione di Kubernetes avverte che i Secret sono solo codificati in Base64 e, per impostazione predefinita, archiviati senza cifratura: la stringa codificata va quindi protetta esattamente come la chiave originale.

Per un token o un URL serve Base64 o base64url?

Il Base64 standard, come quello prodotto qui, usa + e / e riempie con =. I JWT e i parametri degli URL usano l'alfabeto base64url della RFC 4648, che sostituisce questi caratteri con - e _ e di solito elimina il padding. Se la destinazione richiede base64url, occorre sostituire questi tre caratteri.

Conviene minimizzare il JSON prima di codificarlo?

Di solito sì. Spazi, rientri e a capo sono byte come gli altri, e ogni 3 byte diventano 4 caratteri in uscita. Compattare prima una configurazione formattata, ad esempio con jq -c, accorcia di conseguenza la stringa codificata.

Come si decodifica la stringa per riottenere il JSON?

Su macOS o Linux si usa base64 --decode, in PowerShell [Convert]::FromBase64String, mentre in un browser si passa il risultato di atob a un TextDecoder, così i caratteri UTF-8 vengono ripristinati correttamente.

Perché kubectl segnala dati base64 non validi?

Il valore sotto data in un manifest Secret deve essere Base64 valido su una sola riga. L'errore di solito indica che durante l'incolla si è infilato un a capo, oppure che sotto data è stato inserito JSON semplice. I valori in chiaro vanno sotto stringData, che Kubernetes codifica automaticamente.

La codifica modifica qualcosa all'interno del JSON?

No. Il Base64 converte i byte in testo e viceversa senza perdite, quindi chiavi, valori, caratteri accentati e perfino un byte order mark all'inizio del file vengono ripristinati esattamente alla decodifica.