Utilia

Base64 кодер и декодер

Бесплатен Base64 кодер и декодер со целосна UTF-8 поддршка и опција base64url безбедна за URL. Работи во прелистувачот, ништо не се качува.

Како да користите Base64 кодер и декодер

  1. Изберете дали сакате да го кодирате текстот во Base64 или да го декодирате Base64 назад во текст.
  2. Внесете или залепете го вашиот текст во полето. Поддржани се букви со дијакритици, нелатински писма и емоџија.
  3. Ако резултатот ќе се користи во URL, име на датотека или JSON Web Token, вклучете ја опцијата Безбедно за URL (base64url) за да добиете вариант base64url.
  4. Прочитајте го резултатот и копирајте го. Ако декодирате, а внесот не е валиден Base64, ќе се прикаже порака за грешка наместо бесмислен излез.

Што е Base64?

Base64 е начин да се претстават произволни бајти користејќи само 64 печатливи ASCII знаци: големите букви A–Z, малите букви a–z, цифрите 0–9 и двата симбола + и /. Знакот = се користи како дополнување на крајот. Постои бидејќи многу системи биле проектирани да пренесуваат текст, а не сурови бинарни податоци. Телата на е-пораките, HTTP заглавијата, XML и JSON документите и data URL очекуваат знаци што ќе преживеат копирање, запишување и пренос без да се променат.

Алгоритмот работи со групи од по три бајти (24 бита) и ги дели на четири 6-битни вредности, од кои секоја одговара на еден од 64-те знаци. Затоа Base64 излезот е секогаш околу 33% поголем од внесот: секои 3 бајти стануваат 4 знаци. Кога должината на внесот не е кратна на три, се додаваат еден или два знаци = за должината на излезот да биде кратна на четири. На пример, зборот Hi се кодира во SGk=, а Hello во SGVsbG8=.

Текст, бајти и UTF-8

Base64 кодира бајти, а не знаци, па текстот најпрвин мора да се претвори во бајти. Оваа алатка користи UTF-8, кодирањето што го користат речиси сите современи веб-страници и API. Тоа значи дека café станува Y2Fmw6k=, а емоџи како 👍 (четири бајти во UTF-8) се кодира правилно и се декодира назад во истото емоџи. Многу брзи скрипти што се потпираат на постарата функција btoa() на прелистувачот откажуваат за сè надвор од Latin-1; оваа алатка го нема тоа ограничување.

Стандарден Base64 наспроти base64url

Стандардниот Base64 користи + и /, кои имаат посебно значење во URL и патеки до датотеки. Вариантот безбеден за URL, наречен base64url, го заменува + со - и / со _, а обично го изоставува дополнувањето =. Тоа е форматот што се користи во JSON Web Token (JWT), во многу OAuth параметри и во скратувачи на врски. Вклучете ја опцијата Безбедно за URL (base64url) кога ви треба тој формат, а оставете ја исклучена за прилози на е-пошта, data URL или конфигурациски датотеки што очекуваат стандарден Base64.

Base64 не е шифрирање

Ова е најчестото недоразбирање. Base64 е кодирање: нема клуч ниту тајна и секој може веднаш да го врати назад. Кодирањето на лозинка, API клуч или лични податоци во Base64 не ги штити на никаков начин. HTTP Basic автентикацијата, на пример, го испраќа username:password во Base64, затоа мора да се користи само преку HTTPS. Ако ви треба доверливост, користете вистинско шифрирање (како AES) или хеш на лозинка (како Argon2 или bcrypt), а не Base64.

Приватност

Целото кодирање и декодирање се одвива локално во вашиот прелистувач со JavaScript. Текстот што го внесувате никогаш не се испраќа на сервер, не се зачувува и не се бележи, па безбедно можете да прегледувате токени или конфигурациски вредности. Оваа алатка работи само со текст; не прифаќа качување датотеки.

Често поставувани прашања

Зошто декодираниот текст изгледа како случајни симболи?

Base64 низата најверојатно претставува бинарни податоци, како слика, компресирана датотека или шифрирана содржина, а не текст. Декодирањето дава валидни бајти, но тие не се смислен UTF-8 текст. Може да се случи и ако оригиналниот текст бил кодиран со друг збир знаци, а не со UTF-8.

Зошто алатката вели дека мојот Base64 е невалиден?

Валидниот Base64 содржи само 64-те дозволени знаци плус незадолжително дополнување =, а неговата должина мора да одговара на групирањето по 4 знаци. Вообичаени причини се случајно копирани вишок знаци, скратена низа или base64url низа (со - и _) што се декодира без вклучена опција за безбедност за URL.

Може ли да кодирам слики или други датотеки?

Не. Оваа алатка е наменета само за текст. За да вградите слика во HTML или CSS ви треба алатка што ги чита суровите бајти на датотеката и создава data URL.

Дали е Base64 безбеден за чување лозинки?

Не. Base64 може да го декодира секој за делови од секундата. Лозинките треба да се чуваат со наменски бавен алгоритам за хеширање, како Argon2, scrypt или bcrypt.

Која е разликата меѓу Base64 со и без дополнување?

Дополнувањето со = само ја прави должината на излезот кратна на четири; не носи никаква информација. Повеќето декодери можат да ги реконструираат податоците и без него. base64url обично го изоставува дополнувањето бидејќи = е резервиран знак во URL.