Tech Help
Base64 není šifrování: co skutečně dělá
Base64 je kódování, ne šifrování. Proč neschovává hesla, proč roste velikost a jak ho dekódovat.
Base64 je kódování, ne šifrování. Převádí binární data do textové podoby, kterou textové systémy umí uložit nebo odeslat.
Kdo má text Base64, obvykle ho dokáže dekódovat. Heslo ani tajný klíč nejsou potřeba.
Nepoužívejte Base64 k ochraně hesel, klíčů API, přístupových tokenů, soukromých zpráv ani jiných tajemství. Je to nástroj reprezentace, ne bezpečnostní mechanismus.
Když řetězec vypadá zmateně, neznamená to, že je zašifrovaný. Base64 jen mění, jak se bajty zapisují jako text.
Co Base64 skutečně dělá?
Base64 kóduje binární data omezenou sadou ASCII: A–Z, a–z, 0–9, + a /. Výplň = se může objevit, aby délka výstupu zůstala násobkem 4. Výplň není vždy—krátké vstupy mohou použít jedno nebo dvě = a některé formáty ji vynechají.
Hello
Hello
Base64
SGVsbG8=
Dekódujte SGVsbG8= a znovu dostanete Hello. Ta cesta tam a zpět nepotřebuje klíč.
- Původní data
- Hello
- Kódovat Base64
- SGVsbG8=
- Dekódovat Base64
- Hello
Base64 versus šifrování: jaký je rozdíl?
Base64 slouží reprezentaci a kompatibilitě. Obsah neschovává. Šifrování slouží důvěrnosti a používá kryptografický klíčový materiál. Dekódovat Base64 není dešifrovat. Systémy s veřejným klíčem také používají klíče; říkejte «vhodný kryptografický klíč», ne «jedno sdílené tajemství pro každý druh šifrování». Hashování je třetí myšlenka: výtah, ne vratné kódování.
- Kódování
- Bez tajného klíče
- Vratné pro kohokoli
- Šifrování
- Kryptografická ochrana
- K dešifrování je potřeba správný klíč
Tři různé úkoly:
| Metoda | Hlavní účel | Tajnost nutná |
|---|---|---|
| Base64 | Kódovat data jako text | Ne |
| Šifrování | Chránit důvěrnost | Ano / klíčový materiál |
| Hashování | Jednosměrný výtah | Bez dešifrování |
Je Base64 bezpečné?
Base64 samo o sobě nedává důvěrnost. Text může vypadat neprůhledně, ale to není bezpečnostní funkce. Běžný dekodér obnoví bajty. To neznamená, že «Base64 je nebezpečné» jako technologie. Je to běžné kódování. Není to bezpečnostní mechanismus. Bezpečnost závisí na okolním systému a kontrolách.
Mohu schovat heslo nebo klíč API do Base64?
Ne, ne jako ochranu. Zakódovat heslo, klíč API, přístupový token nebo soukromá data jako Base64 je nechrání. Kdo získá zakódovaný řetězec, obvykle ho dekóduje. Použijte skutečné uložení tajemství a šifrování, když na důvěrnosti záleží.
Proč se Base64 používá, když to není šifrování?
Systémy, které čekají text, často neunesou surová binární data. Base64 slouží k reprezentaci binárních dat v textových formátech, vložení malých binárních zdrojů, přenosu bajtů jen textovými kanály, stavbě Data URL, výskytu v některých e-mailových/MIME kontextech a plnění zátěží API, když schéma žádá Base64. API ho nepoužívají «kvůli bezpečnosti». Používají ho kvůli kompatibilitě.
Proč Base64 zvětšuje data?
Standardní Base64 s výplní mapuje 3 vstupní bajty na 4 znaky. Délka je 4 × ceil(n / 3), kde n je počet vstupních bajtů. Tři bajty se stanou 4 znaky; šest 8. To je zhruba o 33 % větší—asi o třetinu—u velké surové zátěže. Malé vstupy mohou kvůli výplni vypadat jinak: jeden bajt se stane QQ== (4 znaky). Uvozovky JSON, předpona Data URL, komprese nebo další transportní kódování mohou uloženou nebo odeslanou velikost ještě změnit. Base64 data nekomprimuje.
Co je Base64URL?
Base64URL je varianta téhož kódování bezpečná pro URL a názvy souborů—ne šifrování. + se stane -, / se stane _ a výplň se často vynechá. Kódování Base64 umí kódovat i dekódovat standardní Base64 i Base64URL. Pravidla výplně závisí na specifikaci. Tento nástroj není dekodér JWT.
Umí Base64 kódovat obrázky a soubory?
Ano. Obrázky, PDF a jiné binární soubory se dají převést na textovou reprezentaci Base64. Base64 ty soubory nekomprimuje. Zakódovaný text je obvykle větší než surové bajty.
Co je Data URL s Base64?
Data URL může v jednom řetězci spojit typ média, značku kódování a zakódované bajty:
data:image/png;base64,...
Je to pohodlné pro malé zdroje. Vložit velký soubor do Data URL není vždy dobrý nápad: řetězec roste a stránky mohou zpomalit. Berte to jako kompromis, ne jako výchozí.
Kódování versus šifrování versus hashování
Kódování (včetně Base64) slouží reprezentaci a je vratné bez tajemství. Šifrování slouží důvěrnosti a zahrnuje kryptografický klíčový materiál. Hashování dává výtah, který je obecně navržen jako jednosměrný. Délka výstupu závisí na algoritmu—SHA-256 a SHA-512 nemají stejnou velikost. Vygenerovat hash SHA umí ty výtahy ukázat; nešifruje a nenahrazuje Base64.
Časté chyby s Base64
Brát Base64 jako šifrování
Jen mění, jak bajty vypadají jako text.
Ukládat tajemství jako holé Base64
Zakódovanou hodnotu dekóduje kdokoli, kdo ji má.
Předpokládat, že Base64 komprimuje data
Nekomprimuje. Textová podoba je obvykle větší.
Zapomenout na nárůst velikosti
Naplánujte zhruba o třetinu víc u velkých surových zátěží.
Zaměnit Base64 s Base64URL
Abecedy se liší. Dekodér může špatnou variantu odmítnout.
Dekódovat se špatným kódováním znaků
Base64 obnoví bajty. Text stále potřebuje odpovídající kódování, obvykle UTF-8.
Předpokládat, že = je vždy
Výplň se použije, když je potřeba. Některé řetězce ji nemají.
Proč může text Unicode dělat problémy s Base64?
Base64 pracuje s bajty, ne se znaky. Text musí nejdřív být bajty—obvykle UTF-8. Korejština, japonština, arabština a emoji ten krok potřebují. Prohlížečové btoa() na řetězci Unicode může selhat. Kódování Base64 kóduje bajty UTF-8, takže ten text projde tam a zpět. Když dekódujete špatnou znakovou sadou, Base64 může být platné a písmena přesto vypadat špatně.
Base64 nedává důvěrnost. Kdo má zakódovanou hodnotu, obvykle ji dekóduje. Nepovažujte zmateně vypadající text za chráněné tajemství.
Kódujte nebo dekódujte Base64 v prohlížeči
NEXNARA Kódování Base64 převádí text UTF-8 a soubory lokálně.
Můžete kódovat nebo dekódovat standardní Base64 i Base64URL, změnit soubor na surové Base64 nebo Data URL a vrátit Base64 nebo Data URL ke stažení. Neplatný vstup se odmítne místo pádu. Mezery se ignorují; chybějící výplň se doplní.
Soubory nad 10 MB mohou kartu zpomalit. Soubory nad 32 MB se v prohlížeči nezpracují.
Samotné zpracování Base64 probíhá ve vašem prohlížeči. Text ani soubor se u tohoto nástroje neposílají na server NEXNARA. Reklamy a další funkce webu stále používají síť; to je oddělené od zpracování.
Potřebujete kódovat nebo dekódovat Base64? Otevřete Kódování Base64 a vložte text nebo pusťte soubor.
FAQ
Je Base64 šifrování?
Ne. Base64 je kódování. Mění reprezentaci. Nechrání důvěrnost.
Je Base64 bezpečné?
Base64 není bezpečnostní mechanismus. Je to běžné kódování. Kdo má text, obvykle ho dekóduje. Bezpečnost závisí na zbytku systému.
Lze Base64 dekódovat bez hesla?
Ano. Stačí standardní dekodér. Samotné Base64 nechce heslo ani tajný klíč.
Proč Base64 zvětšuje soubor?
Každé 3 bajty se stanou 4 znaky ve standardním Base64 s výplní (délka 4 × ceil(n / 3)). To je zhruba o 33 % víc u velké surové zátěže. Výplň může změnit poměr u velmi malých vstupů.
Jaký je rozdíl mezi Base64 a Base64URL?
Base64URL používá - a _ místo + a / a často vynechá výplň =. Obě jsou kódování. Kódování Base64 podporuje obě abecedy.
Umí Base64 kódovat obrázky a soubory?
Ano. Výsledek je text, ne menší soubor. Použijte režim souboru v Kódování Base64 pro surové Base64 nebo Data URL. Soubor zůstane v prohlížeči.