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.
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
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
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.
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.