UltKit

JSON í Base64

Breyttu JSON-skrá í eina línu af Base64-texta sem kemst óskemmd í gegnum umhverfisbreytur, YAML-reiti og API-beiðnir þar sem gæsalappir, slaufusvigar og línuskil myndu valda vandræðum. Þegar strengurinn er afkóðaður færðu nákvæmlega sömu bætin aftur.

Gagnaumbreyting

eða slepptu CSV, TSV, TXT … skrár hér ·

Að hámarki 95 MB á skrá· Allt að 20 skrár· Eytt eftir 30 mínútur

Úttak

Skrár eru unnar á þjónum okkar og eytt eftir 30 mínútur.

Hvernig á að nota tólið

  1. 1

    Hladdu upp JSON-skránni

    Bættu við .json, .jsonl eða .ndjson skrá, til dæmis þjónustureikningslykli eða stillingaskrá. Allt að 20 skrár í hverri lotu, 95 MB hver.

  2. 2

    Veldu forskeytið

    Venjulegt Base64 er valið. Kveiktu á Data URI-forskeyti undir Ítarlegar stillingar aðeins ef textinn fer í HTML- eða CSS-eigindi sem býst við data: slóð.

  3. 3

    Kóðaðu og afritaðu

    Ýttu á Umbreyta í Base64 text, sæktu niðurstöðuna og límdu strenginn inn í leyndarmálageymsluna þína, manifest-skrána eða meginmál beiðninnar.

Þegar JSON er kóðað sem Base64 breytast gögnin ekki; þau eru pökkuð upp á nýtt sem venjulegir stafir og tölustafir svo þau komist í gegnum staði sem skemma slaufusvigur, gæsalappir og línuskil.

Af hverju að kóða JSON-skrá í Base64

Algengasta dæmið er skilríkjaskrá. Skýjaþjónusta lætur þig fá þjónustureikningslykil sem JSON-skrá, en CI-kerfið þitt, hýsingarviðmótið eða gámapallurinn býður aðeins upp á eins línu textareit fyrir leyndarmál. Ef hráu JSON er límt inn bilar það við fyrsta línuskil eða fyrstu óbreyttu gæsalöppina. Kóðaður sem Base64 er sami lykill einn samfelldur strengur sem forritið afkóðar við ræsingu.

Base64 sjálft á rætur í tölvupósti: MIME, skilgreint í RFC 2045 árið 1996, notaði það svo viðhengi kæmust um póstþjóna sem fluttu aðeins 7 bita texta. Stafrófið var síðar staðlað sérstaklega í RFC 4648 árið 2006. Kostnaðurinn er stærð, þar sem hver 3 bæti verða að 4 stöfum. Fyrir myndir og aðrar tvíundarskrár gerir Mynd í Base64 sömu kóðun með samsvarandi data URI. Ef móttökutólið les YAML frekar en Base64-reit gæti JSON í YAML verið nóg.

Dæmi um JSON í Base64

Þjappað JSON {"env":"prod","retries":3} og Base64-kóðun þess
{"env":"prod","retries":3}

eyJlbnYiOiJwcm9kIiwicmV0cmllcyI6M30=

Hvar JSON er krafist í Base64-kóðun

Staðir sem taka aðeins við JSON sem Base64
StofnunKrafaHeimild
Kubernetes SecretsHvert gildi undir data verður að vera Base64; til að tengja JSON-lykilskrá þarf að kóða hana fyrst.kubernetes.io
GitHub REST APIEndapunkturinn til að búa til eða uppfæra skráarefni býst við skránni, líka .json skrá, sem Base64 í content.docs.github.com
JSON Web Tokens (RFC 7519)JSON-haus og kröfur eru hvort um sig kóðuð með base64url og tengd saman með punktum.—
Tölvupóstviðhengi (MIME)Viðhengi í .json er sent með Base64-flutningskóðun svo það komist í gegnum póstþjóna sem flytja aðeins texta.—
Base64Base 64 kóðun · RFC 4648 kóðun
Aðferð til að skrifa hvaða bæti sem er með 64 öruggum táknum: A–Z, a–z, 0–9, + og /, með = sem fyllingu. Hver hópur af 3 inntaksbætum verður að 4 úttaksstöfum, svo textinn er um þriðjungi lengri en skráin. Kóðunin er afturkræf og hefur engan lykil, sem gerir hana að flutningssniði, ekki öryggisráðstöfun.

Staðreyndir um JSON- og Base64-sniðin

JSON

JavaScript Object Notation

JSON er létt textasnið fyrir skipulögð gögn, gert vinsælt af Douglas Crockford snemma á fyrsta áratug aldarinnar og staðlað sem RFC 8259 og ECMA-404. Það lýsir hlutum, fylkjum, strengjum, tölum, rökgildum og null með einfaldri og læsilegri setningafræði. Það er sjálfgefið snið fyrir vefviðmót (API), stillingarskrár og gagnaskipti milli forrita í nær öllum forritunarmálum. Það hefur engar innbyggðar athugasemdir, dagsetningar eða skema, og stórar djúpt hreiðraðar skrár eru erfiðar aflestrar án skoðara.

Þjöppun
–
Gegnsæi
–
Hreyfimynd
–
Kom fram
2001 · Douglas Crockford
JSON umbreytir

BASE64

Base64-kóðaður texti

Base64 er kóðun, skilgreind í RFC 4648, sem breytir hvaða tvíundargögnum sem er í streng úr 64 öruggum textatáknum. Hún er notuð til að fella myndir inn í HTML og CSS sem gagnaslóðir (data URI), til að hengja skrár við tölvupóst og til að senda tvíundargögn í JSON eða XML. Kóðunin er fullkomlega afturkræf en gerir gögnin um 33% stærri. Base64 er ekki dulkóðun og veitir enga vernd; hver sem er getur afkóðað hana.

Þjöppun
Án taps
Gegnsæi
–
Hreyfimynd
–
Kom fram
–
BASE64 umbreytir

JSON er kóðað sem Base64 þegar skipulögð gögn þurfa að komast fyrir í einum strengjareit sem tekur ekki við hráum gæsalöppum og línuskilum: CI-leyndarmál, Kubernetes manifest, content-reitur í API eða hausgildi.

Spurningar um JSON í Base64

Er JSON sem er kóðað í Base64 dulkóðað?

Nei. Base64 er kóðun og hver sem er getur afkóðað hana með einni skipun. Í skjölum Kubernetes sjálfum er varað við því að Secrets séu aðeins Base64-kóðuð og vistuð ódulrituð sjálfgefið, svo verndaðu kóðaða strenginn nákvæmlega eins og upprunalega lykilinn.

Þarf ég Base64 eða base64url fyrir tóka eða vefslóð?

Venjulegt Base64, eins og hér er skrifað, notar + og / og fyllir með =. JWT og vefslóðabreytur nota base64url-stafrófið úr RFC 4648, sem skiptir þeim út fyrir - og _ og sleppir yfirleitt fyllingunni. Skiptu þessum þremur táknum út ef markkerfið býst við base64url.

Á ég að þjappa JSON (minify) áður en ég kóða það?

Yfirleitt já. Bil, inndráttur og línuskil eru bæti eins og hver önnur og hver 3 bæti verða að 4 stöfum í úttakinu. Ef þú þjappar vel sniðinni stillingaskrá fyrst saman, til dæmis með jq -c, styttist kóðaði strengurinn í samræmi við það.

Hvernig afkóða ég strenginn aftur í JSON?

Á macOS eða Linux keyrirðu base64 --decode, í PowerShell notarðu [Convert]::FromBase64String og í vafra sendirðu niðurstöðu atob í gegnum TextDecoder svo UTF-8 stafir komi rétt til baka.

Af hverju segir kubectl að base64-gögnin séu ógild?

Gildið undir data í Secret manifest þarf að vera gilt Base64 á einni línu. Villan stafar yfirleitt af því að línuskil slæddist inn við límingu eða að venjulegt JSON var sett undir data. Venjuleg gildi eiga heima undir stringData, sem Kubernetes kóðar fyrir þig.

Breytir kóðunin einhverju í JSON-skránni minni?

Nei. Base64 varpar bætum í texta og til baka án taps, svo lyklar, gildi, stafir með broddum og jafnvel bætaröðunarmerki (BOM) í upphafi skráarinnar endurheimtast nákvæmlega við afkóðun.