Tech Help

Base64 ei ole krüpteerimine: mida see tegelikult teeb

Base64 on kodeerimine, mitte krüpteerimine. Miks see paroole ei peida, miks suurus kasvab ja kuidas dekodeerida.

Lühike vastus

Base64 on kodeerimine, mitte krüpteerimine. See muudab binaarandmed tekstikujuks, mida tekstikesksed süsteemid saavad salvestada või saata.

Kellel on Base64 tekst, saab selle tavaliselt dekodeerida. Parooli ega salajast võtit pole vaja.

Ärge kasutage Base64 paroole, API võtmeid, juurdepääsutunnuseid, privaatsõnumeid ega muid saladusi kaitsmiseks. See on esitusvahend, mitte turvamehhanism.

Kui string paistab sassis, ei tähenda see, et see on krüpteeritud. Base64 muudab vaid seda, kuidas baite tekstina kirjutatakse.

Mida Base64 tegelikult teeb?

Base64 kodeerib binaarandmeid piiratud ASCII hulga abil: A–Z, a–z, 0–9, + ja /. Täide = võib ilmuda, et väljundi pikkus jääks 4 kordseks. Täidet pole alati—lühikesed sisendid võivad kasutada üht või kaht = ja mõned vormingud jätavad selle ära.

Hello

Hello

Base64

SGVsbG8=

Dekodeerige SGVsbG8= ja saate taas Hello. See edasi-tagasi ei vaja võtit.

  • Algandmed
  • Hello
  • Base64 kodeerimine
  • SGVsbG8=
  • Base64 dekodeerimine
  • Hello
Base64 on dekodeerimisega pööratav. Kellel on tekst, saab tavaliselt.

Base64 versus krüpteerimine: mis vahe on?

Base64 on esituse ja ühilduvuse jaoks. See ei peida sisu. Krüpteerimine on konfidentsiaalsuse jaoks ja kasutab krüptograafilist võtmematerjali. Base64 dekodeerimine ei ole dekrüpteerimine. Avaliku võtme süsteemid kasutavad ka võtmeid; öelge «sobiv krüptograafiline võti», mitte «üks jagatud saladus iga krüpteerimise jaoks». Räsi on kolmas mõte: kokkuvõte, mitte pööratav kodeerimine.

  • Kodeerimine
  • Salajast võtit pole
  • Pööratav igaühele
  • Krüpteerimine
  • Krüptograafiline kaitse
  • Dekrüpteerimiseks on vaja õiget võtit
Kodeerimine muudab esitust. Krüpteerimine püüab sisu konfidentsiaalsena hoida.

Kolm erinevat tööd:

Meetod Peamine eesmärk Saladus vajalik
Base64 Andmete kodeerimine tekstina Ei
Krüpteerimine Konfidentsiaalsuse kaitsmine Jah / võtmematerjal
Räsimine Ühesuunaline kokkuvõte Dekrüpteerimist pole

Kas Base64 on turvaline?

Base64 ise ei anna konfidentsiaalsust. Tekst võib paista läbipaistmatu, kuid see pole turvafunktsioon. Tavaline dekooder taastab baidid. See ei tähenda, et «Base64 on ebaturvaline» tehnikana. See on tavaline kodeerimine. See ei ole turvamehhanism. Turvalisus sõltub ümbritsevast süsteemist ja kontrollidest.

Kas saan parooli või API võtit Base64-ga peita?

Ei, mitte kaitseks. Parooli, API võtme, juurdepääsutunnuse või privaatandmete kodeerimine Base64-ks ei kaitse neid. Kes saab kodeeritud stringi, saab selle tavaliselt dekodeerida. Kasutage päris saladuste hoidmist ja krüpteerimist, kui konfidentsiaalsus loeb.

Miks Base64 kasutatakse, kui see pole krüpteerimine?

Teksti ootavad süsteemid ei saa sageli toorest binaari kanda. Base64 kasutatakse binaari esitamiseks tekstivormingutes, väikeste binaarressursside manustamiseks, baitide liigutamiseks ainult-teksti kanalites, Data URL-i ehitamiseks, mõnes e-posti/MIME kontekstis ilmumiseks ja API koormuse täitmiseks, kui skeem küsib Base64. API-d ei kasuta seda «turvalisuse pärast». Nad kasutavad seda ühilduvuse pärast.

Miks Base64 teeb andmed suuremaks?

Tavaline täidetud Base64 kaardistab 3 sisendbaiti 4 märgiks. Pikkus on 4 × ceil(n / 3), kus n on sisendbaitide arv. Kolm baiti saavad 4 märki; kuus saavad 8. See on umbes 33% suurem—umbes kolmandik—suure toore koormuse jaoks. Väikesed sisendid võivad täite tõttu teisiti paista: üks bait saab QQ== (4 märki). JSON jutumärgid, Data URL eesliide, tihendus või lisatranspordikodeering võivad salvestatud või saadetud suurust veel muuta. Base64 ei tihenda andmeid.

Mis on Base64URL?

Base64URL on sama kodeeringu URL-i ja failinimede jaoks ohutu variant—mitte krüpteerimine. + saab -, / saab _ ja täide jäetakse sageli ära. Kodeeri Base64 oskab kodeerida ja dekodeerida tavalist Base64 ja Base64URL. Täitereeglid sõltuvad spetsifikatsioonist. See tööriist ei ole JWT dekooder.

Kas Base64 saab kodeerida pilte ja faile?

Jah. Pildid, PDF-id ja muud binaarfailid võivad saada Base64 tekstiesituseks. Base64 ei tihenda neid faile. Kodeeritud tekst on tavaliselt suurem kui toored baidid.

Mis on Base64 Data URL?

Data URL võib ühes stringis koguda meediatüübi, kodeeringumärgise ja kodeeritud baidid:

data:image/png;base64,...

Mugav väikestele ressurssidele. Suure faili Data URL-i panemine pole alati hea mõte: string kasvab ja lehed võivad aeglustuda. Kohelge seda kompromissina, mitte vaikimisi.

Kodeerimine versus krüpteerimine versus räsimine

Kodeerimine (sealhulgas Base64) on esituse jaoks ja pööratav ilma saladuseta. Krüpteerimine on konfidentsiaalsuse jaoks ja hõlmab krüptograafilist võtmematerjali. Räsimine annab kokkuvõtte, mis on üldiselt kavandatud ühesuunaliseks. Väljundi pikkus sõltub algoritmist—SHA-256 ja SHA-512 ei ole sama suurusega. Loo SHA-räsi saab neid kokkuvõtteid näidata; see ei krüpteeri ega asenda Base64.

Levinud Base64 vead

Base64 krüpteerimiseks pidamine
Muudab vaid seda, kuidas baidid tekstina paistavad.

Saladuste hoidmine tavalise Base64-na
Kodeeritud väärtuse saab dekodeerida see, kellel see on.

Eeldus, et Base64 tihendab andmeid
Ei tihenda. Tekstikuju on tavaliselt suurem.

Suuruse kasvu unustamine
Planeerige suurte toorete koormuste jaoks umbes kolmandik juurde.

Base64 ja Base64URL segamini ajamine
Tähestikud erinevad. Dekooder võib vale variandi tagasi lükata.

Dekodeerimine vale märgikodeeringuga
Base64 taastab baidid. Tekst vajab ikka sobivat kodeeringut, tavaliselt UTF-8.

Eeldus, et = ilmub alati
Täidet kasutatakse, kui vaja. Mõnel stringil seda pole.

Miks võib Unicode tekst Base64-ga probleeme tekitada?

Base64 töötab baitidel, mitte märkidel. Tekst peab esmalt baitideks saama—tavaliselt UTF-8. Korea, jaapani, araabia ja emotikonid vajavad seda sammu. Brauseri btoa() Unicode stringil võib ebaõnnestuda. Kodeeri Base64 kodeerib UTF-8 baite, nii et see tekst käib edasi-tagasi. Kui dekodeerite vale märgistikuga, võib Base64 olla kehtiv ja tähed ikka valed paista.

Pole lukk

Base64 ei anna konfidentsiaalsust. Kellel on kodeeritud väärtus, saab selle tavaliselt dekodeerida. Ärge pidage sassis teksti kaitstud saladuseks.

Kodeerige või dekodeerige Base64 brauseris

NEXNARA Kodeeri Base64 teisendab UTF-8 teksti ja faile kohapeal.

Saate kodeerida või dekodeerida tavalist Base64 ja Base64URL, teha failist toore Base64 või Data URL ja tuua Base64 või Data URL allalaadimiseks tagasi. Vigane sisend lükatakse tagasi, mitte ei kuku kokku. Tühikud eiratakse; puuduv täide täidetakse.

Failid üle 10 MB võivad vahekaarti aeglustada. Faile üle 32 MB ei töödelda brauseris.

Base64 töötlus ise toimub teie brauseris. Teksti ega faili ei saadeta selle tööriista jaoks NEXNARA serverisse. Reklaamid ja muud saidi funktsioonid kasutavad endiselt võrku; see on töötlusest eraldi.

Vaja Base64 kodeerida või dekodeerida? Avage Kodeeri Base64 ja kleepige tekst või pange fail maha.

FAQ

Kas Base64 on krüpteerimine?

Ei. Base64 on kodeerimine. See muudab esitust. See ei kaitse konfidentsiaalsust.

Kas Base64 on turvaline?

Base64 ei ole turvamehhanism. See on tavaline kodeerimine. Kellel on tekst, saab selle tavaliselt dekodeerida. Turvalisus sõltub ülejäänud süsteemist.

Kas Base64 saab dekodeerida ilma paroolita?

Jah. Piisab tavalisest dekoodrist. Base64 ise ei nõua parooli ega salajast võtit.

Miks Base64 suurendab faili suurust?

Iga 3 baiti saavad 4 märki tavalises täidetud Base64-s (pikkus 4 × ceil(n / 3)). See on umbes 33% rohkem suure toore koormuse jaoks. Täide võib väga väikestel sisenditel suhet muuta.

Mis vahe on Base64 ja Base64URL-il?

Base64URL kasutab + ja / asemel - ja _ ning jätab sageli = täite ära. Mõlemad on kodeeringud. Kodeeri Base64 toetab mõlemat tähestikku.

Kas Base64 saab kodeerida pilte ja faile?

Jah. Tulemus on tekst, mitte väiksem fail. Kasutage Kodeeri Base64 failirežiimi toore Base64 või Data URL jaoks. Fail jääb brauserisse.