Base64 kodér a dekodér
Bezplatný Base64 kodér a dekodér s plnou podporou UTF-8 a volbou base64url. Funguje ve tvém prohlížeči, nic se nenahrává na server.
Jak používat Base64 kodér a dekodér
- Vyber, zda chceš text zakódovat do Base64, nebo dekódovat Base64 zpět na text.
- Napiš nebo vlož vstup do textového pole. Podporovaná jsou písmena s diakritikou, jiná písma i emoji.
- Pokud se výsledek použije v adrese URL, v názvu souboru nebo v tokenu JSON Web Token, zapni volbu Bezpečné pro URL (base64url), abys dostal variantu base64url.
- Přečti si výsledek a zkopíruj ho. Pokud dekóduješ a vstup není platný Base64, místo nesmyslného výstupu se zobrazí chybová zpráva.
Co je Base64?
Base64 je způsob zápisu libovolných bajtů pomocí pouhých 64 tisknutelných znaků ASCII: velkých písmen A–Z, malých písmen a–z, číslic 0–9 a dvou symbolů + a /. Na konci se jako výplň používá znak =. Existuje proto, že řada systémů vznikla pro přenos textu, nikoli surových binárních dat. Těla e-mailů, hlavičky HTTP, dokumenty XML a JSON i adresy data URL očekávají znaky, které přežijí kopírování, zapisování do logů a přenos bez úprav.
Algoritmus pracuje se skupinami po třech bajtech (24 bitů) a rozděluje je na čtyři 6bitové hodnoty, z nichž každá odpovídá jednomu z 64 znaků. Proto je výstup Base64 vždy přibližně o 33 % větší než vstup: každé 3 bajty se změní na 4 znaky. Pokud délka vstupu není násobkem tří, přidají se jedno nebo dvě znaménka =, aby byla délka výstupu násobkem čtyř. Například slovo Hi se zakóduje jako SGk= a Hello jako SGVsbG8=.
Text, bajty a UTF-8
Base64 kóduje bajty, ne znaky, takže se text musí nejprve převést na bajty. Nástroj používá UTF-8, kódování, které využívá téměř každá moderní webová stránka a API. Slovo café se tak změní na Y2Fmw6k= a emoji, třeba 👍 (v UTF-8 čtyři bajty), se zakóduje správně a po dekódování z něj vznikne opět totéž emoji. Mnoho rychlých skriptů, které spoléhají na starší funkci btoa() v prohlížeči, selhává u všeho mimo Latin-1. Tento nástroj toto omezení nemá.
Standardní Base64 a base64url
Standardní Base64 používá znaky + a /, které mají v adresách URL a cestách k souborům zvláštní význam. Varianta bezpečná pro URL, zvaná base64url, nahrazuje + znakem - a / znakem _ a obvykle vynechává výplň =. Je to formát, který používají tokeny JSON Web Token (JWT), řada parametrů OAuth i zkracovače odkazů. Volbu bezpečnou pro URL zapni, když potřebuješ tento formát, a vypni ji u příloh e-mailů, adres data URL nebo konfiguračních souborů, které očekávají standardní Base64.
Base64 není šifrování
Je to nejčastější nedorozumění. Base64 je kódování: nemá žádný klíč ani tajemství a kdokoli ho okamžitě vrátí zpět. Zakódování hesla, klíče API nebo osobních údajů do Base64 je nijak nechrání. Například základní autentizace HTTP posílá uzivatel:heslo právě v Base64, a proto se smí používat jen přes HTTPS. Pokud potřebuješ důvěrnost, použij skutečné šifrování (například AES) nebo hash hesla (například Argon2 či bcrypt), ne Base64.
Soukromí
Veškeré kódování a dekódování probíhá lokálně ve tvém prohlížeči pomocí JavaScriptu. Text, který zadáš, se neodesílá na server, neukládá se ani nezapisuje do logů, takže můžeš bezpečně zkoumat tokeny nebo konfigurační hodnoty. Nástroj pracuje pouze s textem a nepřijímá nahrávané soubory.
Časté dotazy
Proč dekódovaný text vypadá jako náhodné symboly?
Řetězec Base64 pravděpodobně představuje binární data, například obrázek, komprimovaný soubor nebo šifrovaný obsah, a ne text. Dekódováním vzniknou platné bajty, ale nejsou to smysluplný text v UTF-8. Může se to stát i tehdy, když byl původní text zakódován jinou znakovou sadou než UTF-8.
Proč nástroj hlásí, že můj Base64 není platný?
Platný Base64 obsahuje pouze 64 povolených znaků a případnou výplň = a jeho délka musí odpovídat seskupení po čtyřech znacích. Častými příčinami jsou omylem zkopírované cizí znaky, useknutý řetězec nebo řetězec base64url (se znaky - a _) dekódovaný bez zapnuté volby bezpečné pro URL.
Mohu zakódovat obrázky nebo jiné soubory?
Ne. Nástroj je určen pouze pro text. Pro vložení obrázku do HTML nebo CSS bys potřeboval nástroj, který přečte surové bajty souboru a vytvoří adresu data URL.
Je Base64 bezpečné pro ukládání hesel?
Ne. Base64 dokáže dekódovat kdokoli během zlomku sekundy. Hesla se mají ukládat pomocí specializovaného pomalého hashovacího algoritmu, například Argon2, scrypt nebo bcrypt.
Jaký je rozdíl mezi Base64 s výplní a bez ní?
Výplň = jen zajišťuje, aby délka výstupu byla násobkem čtyř, a nenese žádnou informaci. Většina dekodérů umí data obnovit i bez ní. Base64url výplň běžně vynechává, protože = je v adresách URL vyhrazený znak.
Související nástroje
- Kódování a dekódování URL Bezplatné kódování a dekódování URL. Procentově zakóduj parametry dotazu či celé adresy, dekóduj sekvence %XX a zpracuj + jako mezeru. Běží v prohlížeči.
- Formátovač a validátor JSON Bezplatný formátovač a validátor JSON, který zpřehlední, minifikuje a ověří JSON ve tvém prohlížeči a syntaktické chyby hlásí s řádkem a sloupcem.
- Generátor UUID Bezplatný generátor UUID verze 4 a verze 7. Vytvoř až 1 000 najednou, velkými písmeny nebo bez pomlček, a zkopíruj je nebo stáhni jako .txt.