Tech Help

A Base64 nem titkosítás: mit csinál valójában

A Base64 kódolás, nem titkosítás. Miért nem rejti a jelszavakat, miért nő a méret, és hogyan kell dekódolni.

Rövid válasz

A Base64 kódolás, nem titkosítás. Bináris adatot olyan szöveggé alakít, amelyet szövegközpontú rendszerek tárolhatnak vagy küldhetnek.

Akinek megvan a Base64-szöveg, általában dekódolhatja. Jelszó vagy titkos kulcs nem kell.

Ne használjon Base64-et jelszavak, API-kulcsok, hozzáférési tokenek, privát üzenetek vagy más titkok védelmére. Ábrázolóeszköz, nem biztonsági mechanizmus.

Ha egy karakterlánc kusza, az nem jelenti, hogy titkosított. A Base64 csak azt változtatja, hogyan íródnak a bájtok szövegként.

Mit csinál valójában a Base64?

A Base64 korlátozott ASCII-készlettel kódolja a bináris adatot: A–Z, a–z, 0–9, + és /. A = kitöltés megjelenhet, hogy a kimenet hossza 4 többszöröse maradjon. A kitöltés nem mindig van—rövid bemenet egy vagy két = jelet használhat, egyes formátumok elhagyják.

Hello

Hello

Base64

SGVsbG8=

Dekódolja a SGVsbG8= értéket, és újra Hello-t kap. Ehhez az oda-visszához nem kell kulcs.

  • Eredeti adat
  • Hello
  • Base64 kódolás
  • SGVsbG8=
  • Base64 dekódolás
  • Hello
A Base64 dekódolással megfordítható. Akinek megvan a szöveg, általában megteheti.

Base64 és titkosítás: mi a különbség?

A Base64 ábrázolásra és kompatibilitásra való. Nem rejti a tartalmat. A titkosítás a bizalmasságra való, és kriptográfiai kulcsanyagot használ. A Base64 dekódolása nem visszafejtés. A nyilvános kulcsú rendszerek is kulcsot használnak; mondja «megfelelő kriptográfiai kulcs», ne «egy megosztott titok minden titkosításhoz». A hashelés harmadik ötlet: kivonat, nem megfordítható kódolás.

  • Kódolás
  • Nincs titkos kulcs
  • Bárki megfordíthatja
  • Titkosítás
  • Kriptográfiai védelem
  • Visszafejtéshez a helyes kulcs kell
A kódolás az ábrázolást változtatja. A titkosítás a tartalmat akarja bizalmasan tartani.

Három különböző feladat:

Módszer Fő cél Titok kell
Base64 Adat kódolása szövegként Nem
Titkosítás Bizalmasság védelme Igen / kulcsanyag
Hashelés Egyirányú kivonat Nincs visszafejtés

Biztonságos a Base64?

A Base64 önmagában nem ad bizalmasságot. A szöveg átlátszatlannak tűnhet, de ez nem biztonsági funkció. Egy sima dekódoló visszaadja a bájtokat. Ez nem azt jelenti, hogy «a Base64 mint technológia nem biztonságos». Normál kódolás. Nem biztonsági mechanizmus. A biztonság a környező rendszertől és ellenőrzésektől függ.

Elrejthetek jelszót vagy API-kulcsot Base64-gyel?

Nem, nem védelemként. Jelszó, API-kulcs, hozzáférési token vagy privát adat Base64-ként kódolása nem védi őket. Aki megkapja a kódolt karakterláncot, általában dekódolhatja. Használjon valódi titoktárolást és titkosítást, ha a bizalmasság számít.

Miért használják a Base64-et, ha nem titkosítás?

A szöveget váró rendszerek gyakran nem visznek nyers binárist. A Base64 bináris ábrázolására szolgál szöveges formátumokban, kis bináris erőforrások beágyazására, bájtok továbbítására csak-szöveges csatornákon, Data URL építésére, egyes e-mail/MIME környezetben való megjelenésre, és API-terhelés kitöltésére, ha a séma Base64-et kér. Az API-k nem «biztonságért» használják. Kompatibilitásért használják.

Miért növeli a Base64 az adatot?

A szabványos kitöltött Base64 3 bemeneti bájtot 4 karakterre képez. A hossz 4 × ceil(n / 3), ahol n a bemeneti bájtok száma. Három bájt 4 karakter lesz; hat 8. Ez durván 33%-kal nagyobb—körülbelül egyharmad—nagy nyers terhelésnél. Kis bemenet a kitöltés miatt másképp nézhet ki: egy bájt QQ== lesz (4 karakter). JSON-idézőjelek, Data URL előtag, tömörítés vagy extra szállítási kódolás tovább változtathatja a tárolt vagy küldött méretet. A Base64 nem tömörít adatot.

Mi a Base64URL?

A Base64URL ugyanannak a kódolásnak URL- és fájlnév-biztos változata—nem titkosítás. A + → -, a / → _ lesz, a kitöltést gyakran elhagyják. A Base64 kódolás tudja kódolni és dekódolni a szabványos Base64-et és a Base64URL-t. A kitöltési szabályok a specifikációtól függnek. Ez az eszköz nem JWT-dekódoló.

Tud a Base64 képeket és fájlokat kódolni?

Igen. Képek, PDF-ek és más bináris fájlok Base64 szöveges ábrázolássá alakíthatók. A Base64 nem tömöríti azokat a fájlokat. A kódolt szöveg általában nagyobb a nyers bájtoknál.

Mi a Base64 Data URL?

A Data URL egy karakterláncban egyesítheti a médiatípust, a kódolási jelet és a kódolt bájtokat:

data:image/png;base64,...

Kényelmes kis eszközökhöz. Nagy fájlt Data URL-be tenni nem mindig jó ötlet: a karakterlánc nő, az oldalak lassulhatnak. Kompromisszumnak tekintse, ne alapértelmezettnek.

Kódolás, titkosítás és hashelés

A kódolás (beleértve a Base64-et) ábrázolásra való, és titok nélkül megfordítható. A titkosítás bizalmasságra való, és kriptográfiai kulcsanyagot tartalmaz. A hashelés olyan kivonatot ad, amelyet általában egyirányúnak terveztek. A kimenet hossza az algoritmustól függ—a SHA-256 és a SHA-512 nem azonos méretű. A SHA hash készítése megmutathatja azokat a kivonatokat; nem titkosít, és nem helyettesíti a Base64-et.

Gyakori Base64-hibák

A Base64-et titkosításnak venni
Csak azt változtatja, hogyan néznek ki a bájtok szövegként.

Titkokat sima Base64-ként tárolni
A kódolt értéket dekódolhatja, akinek megvan.

Feltételezni, hogy a Base64 tömörít
Nem tömörít. A szöveges forma általában nagyobb.

Elfelejteni a méretnövekedést
Tervezzen durván egyharmadnyival többet nagy nyers terhelésnél.

Összekeverni a Base64-et a Base64URL-lel
Az ábécék különböznek. A dekódoló elutasíthatja a rossz változatot.

Rossz karakterkódolással dekódolni
A Base64 bájtokat ad vissza. A szövegnek még kell a megfelelő kódolás, általában UTF-8.

Feltételezni, hogy a = mindig ott van
A kitöltés akkor kell, amikor kell. Egyes karakterláncokban nincs.

Miért okozhat problémát a Unicode-szöveg a Base64-gyel?

A Base64 bájtokon működik, nem karaktereken. A szövegnek először bájttá kell válnia—általában UTF-8. A koreai, japán, arab és az emoji ehhez a lépéshez kell. A böngésző btoa() Unicode-karakterláncon elbukhat. A Base64 kódolás UTF-8 bájtokat kódol, így az a szöveg oda-vissza megy. Ha rossz karakterkészlettel dekódol, a Base64 lehet érvényes, a betűk mégis rosszul néznek ki.

Nem zár

A Base64 nem ad bizalmasságot. Akinek megvan a kódolt érték, általában dekódolhatja. Ne kezelje a kuszának tűnő szöveget védett titokként.

Kódoljon vagy dekódoljon Base64-et a böngészőben

A NEXNARA Base64 kódolás helyben alakítja az UTF-8 szöveget és a fájlokat.

Kódolhat vagy dekódolhat szabványos Base64-et és Base64URL-t, fájlt nyers Base64-gyé vagy Data URL-lé tehet, és Base64-et vagy Data URL-t letöltéssé fordíthat. Az érvénytelen bemenetet elutasítja, nem omlik össze. A szóközöket figyelmen kívül hagyja; a hiányzó kitöltést kiegészíti.

A 10 MB feletti fájlok lassíthatják a lapot. A 32 MB feletti fájlokat a böngésző nem dolgozza fel.

Maga a Base64-feldolgozás a böngészőjében történik. A szöveget vagy fájlt ennél az eszköznél nem küldik NEXNARA-kiszolgálóra. A hirdetések és más oldalfunkciók továbbra is használják a hálózatot; ez elkülönül a feldolgozástól.

Base64-et kell kódolni vagy dekódolni? Nyissa meg a Base64 kódolás eszközt, és illesszen be szöveget vagy dobjon rá egy fájlt.

FAQ

A Base64 titkosítás?

Nem. A Base64 kódolás. Az ábrázolást változtatja. Nem védi a bizalmasságot.

Biztonságos a Base64?

A Base64 nem biztonsági mechanizmus. Normál kódolás. Akinek megvan a szöveg, általában dekódolhatja. A biztonság a rendszer többi részétől függ.

Dekódolható a Base64 jelszó nélkül?

Igen. Elég egy szabványos dekódoló. Magának a Base64-nek nincs szüksége jelszóra vagy titkos kulcsra.

Miért növeli a Base64 a fájlméretet?

Minden 3 bájt 4 karakter lesz a szabványos kitöltött Base64-ben (hossz 4 × ceil(n / 3)). Ez durván 33%-kal több nagy nyers terhelésnél. A kitöltés megváltoztathatja az arányt nagyon kis bemeneten.

Mi a különbség a Base64 és a Base64URL között?

A Base64URL - és _ jelet használ + és / helyett, és gyakran elhagyja a = kitöltést. Mindkettő kódolás. A Base64 kódolás mindkét ábécét támogatja.

Tud a Base64 képeket és fájlokat kódolni?

Igen. Az eredmény szöveg, nem kisebb fájl. Használja a Fájl módot a Base64 kódolás eszközben nyers Base64-hez vagy Data URL-hez. A fájl a böngészőben marad.