Tech Help
Base64 не е шифрирање: што навистина прави
Base64 е кодирање, не шифрирање. Зошто не ги крие лозинките, зошто расте големината и како да се декодира.
Base64 е кодирање, не шифрирање. Ги претвора бинарните податоци во текстуална форма што текстуалните системи можат да ја чуваат или испратат.
Кој го има текстот Base64 обично може да го декодира. Не треба лозинка или таен клуч.
Не користете Base64 за заштита на лозинки, клучеви API, токени за пристап, приватни пораки или други тајни. Тоа е алатка за претставување, не механизам за безбедност.
Ако низата изгледа збркано, тоа не значи дека е шифрирана. Base64 само менува како бајтите се пишуваат како текст.
Што навистина прави Base64?
Base64 кодира бинарни податоци со ограничен ASCII збир: A–Z, a–z, 0–9, + и /. Дополнување = може да се појави за должината на излезот да остане кратна на 4. Дополнувањето не е секогаш тука—кратките влезови можат да користат едно или две =, а некои формати го изоставуваат.
Hello
Hello
Base64
SGVsbG8=
Декодирајте SGVsbG8= и повторно добивате Hello. Тоа одење-враќање не бара клуч.
- Изворни податоци
- Hello
- Кодирај Base64
- SGVsbG8=
- Декодирај Base64
- Hello
Base64 наспроти шифрирање: која е разликата?
Base64 служи за претставување и компатибилност. Не ја крие содржината. Шифрирањето служи за доверливост и користи криптографски клучен материјал. Декодирањето на Base64 не е дешифрирање. Системите со јавен клуч исто така користат клучеви; кажете «соодветен криптографски клуч», не «една споделена тајна за секој вид шифрирање». Хеширањето е трета идеја: извадок, не реверзибилно кодирање.
- Кодирање
- Без таен клуч
- Реверзибилно за секого
- Шифрирање
- Криптографска заштита
- Треба правилниот клуч за дешифрирање
Три различни задачи:
| Метод | Главна цел | Потребна тајна |
|---|---|---|
| Base64 | Кодирање податоци како текст | Не |
| Шифрирање | Заштита на доверливоста | Да / клучен материјал |
| Хеширање | Еднонасочен извадок | Без дешифрирање |
Дали Base64 е безбеден?
Самото Base64 не дава доверливост. Текстот може да изгледа непроѕирен, но тоа не е безбедносна функција. Обичен декодер ги враќа бајтите. Тоа не значи дека «Base64 е несигурен» како технологија. Тоа е обично кодирање. Не е механизам за безбедност. Безбедноста зависи од околниот систем и контролите.
Можам ли да сокријам лозинка или клуч API со Base64?
Не, не како заштита. Кодирањето на лозинка, клуч API, токен за пристап или приватни податоци како Base64 не ги штити. Кој ја добие кодираната низа обично може да ја декодира. Користете вистинско чување тајни и шифрирање кога доверливоста е важна.
Зошто се користи Base64 ако не е шифрирање?
Системите што очекуваат текст често не можат да носат сурови бинарни податоци. Base64 се користи за претставување бинарно во текстуални формати, вградување мали бинарни ресурси, преместување бајти низ канали само за текст, градење Data URL, појава во некои контексти на е-пошта/MIME и полнење на товар на API кога шемата бара Base64. API не го користат «за безбедност». Го користат за компатибилност.
Зошто Base64 ги зголемува податоците?
Стандардниот Base64 со дополнување мапира 3 влезни бајти на 4 знаци. Должината е 4 × ceil(n / 3), каде n е бројот на влезни бајти. Три бајти стануваат 4 знаци; шест стануваат 8. Тоа е грубо 33% поголемо—околу една третина—за голем суров товар. Малите влезови можат да изгледаат поинаку поради дополнувањето: еден бајт станува QQ== (4 знаци). Наводници JSON, префикс Data URL, компресија или дополнително транспортно кодирање можат уште да ја променат зачуваната или испратената големина. Base64 не компресира податоци.
Што е Base64URL?
Base64URL е варијанта на истото кодирање безбедна за URL и имиња на датотеки—не шифрирање. + станува -, / станува _, а дополнувањето често се изоставува. Кодирање Base64 може да кодира и декодира стандарден Base64 и Base64URL. Правилата за дополнување зависат од спецификацијата. Оваа алатка не е декодер JWT.
Може ли Base64 да кодира слики и датотеки?
Да. Слики, PDF и други бинарни датотеки можат да станат текстуално претставување Base64. Base64 не ги компресира тие датотеки. Кодираниот текст обично е поголем од суровите бајти.
Што е Data URL со Base64?
Data URL може да собере тип на медиум, ознака за кодирање и кодирани бајти во една низа:
data:image/png;base64,...
Погодно е за мали ресурси. Да се стави голема датотека во Data URL не е секогаш добра идеја: низата расте и страниците можат да забават. Третирајте го како компромис, не како стандардно.
Кодирање наспроти шифрирање наспроти хеширање
Кодирањето (вклучувајќи Base64) служи за претставување и е реверзибилно без тајна. Шифрирањето служи за доверливост и вклучува криптографски клучен материјал. Хеширањето дава извадок што генерално е замислен како еднонасочен. Должината на излезот зависи од алгоритмот—SHA-256 и SHA-512 не се иста големина. Генерирање хеш SHA може да ги покаже тие извадоци; не шифрира и не го заменува Base64.
Чести грешки со Base64
Да се третира Base64 како шифрирање
Само менува како бајтите изгледаат како текст.
Да се чуваат тајни како обичен Base64
Кодираната вредност може да ја декодира кој ја има.
Да се претпостави дека Base64 компресира податоци
Не компресира. Текстуалната форма обично е поголема.
Да се заборави растот на големината
Планирајте грубо една третина повеќе кај големи сурови товари.
Да се помеша Base64 со Base64URL
Азбуките се разликуваат. Декодерот може да ја одбие погрешната варијанта.
Декодирање со погрешно кодирање на знаци
Base64 ги враќа бајтите. Текстот сè уште треба соодветно кодирање, обично UTF-8.
Да се претпостави дека = секогаш се појавува
Дополнувањето се користи кога треба. Некои низи го немаат.
Зошто Уникод текстот може да прави проблеми со Base64?
Base64 работи на бајти, не на знаци. Текстот мора прво да стане бајти—обично UTF-8. Корејски, јапонски, арапски и емоџи го требаат тој чекор. Прелистувачкиот btoa() на Уникод низа може да падне. Кодирање Base64 кодира UTF-8 бајти, па тој текст оди напред-назад. Ако декодирате со погрешен збир знаци, Base64 може да биде важечки, а буквите сè уште да изгледаат погрешно.
Base64 не дава доверливост. Кој ја има кодираната вредност обично може да ја декодира. Не третирајте збркан текст како заштитена тајна.
Кодирајте или декодирајте Base64 во прелистувачот
NEXNARA Кодирање Base64 ги претвора текстот UTF-8 и датотеките локално.
Можете да кодирате или декодирате стандарден Base64 и Base64URL, да ја претворите датотеката во суров Base64 или Data URL и да го вратите Base64 или Data URL во преземање. Невалиден влез се одбива наместо да падне. Празнините се игнорираат; недостасувачкото дополнување се дополнува.
Датотеки над 10 MB можат да го забават јазичето. Датотеки над 32 MB не се обработуваат во прелистувачот.
Самата обработка на Base64 се случува во вашиот прелистувач. Текстот или датотеката не се испраќаат на сервер на NEXNARA за оваа алатка. Рекламите и другите функции на сајтот сè уште ја користат мрежата; тоа е одвоено од обработката.
Треба да кодирате или декодирате Base64? Отворете Кодирање Base64 и залепете текст или пуштете датотека.
FAQ
Дали Base64 е шифрирање?
Не. Base64 е кодирање. Го менува претставувањето. Не ја штити доверливоста.
Дали Base64 е безбеден?
Base64 не е механизам за безбедност. Тоа е обично кодирање. Кој го има текстот обично може да го декодира. Безбедноста зависи од остатокот од системот.
Дали Base64 може да се декодира без лозинка?
Да. Доволен е стандарден декодер. Самото Base64 не бара лозинка или таен клуч.
Зошто Base64 ја зголемува големината на датотеката?
Секои 3 бајти стануваат 4 знаци во стандарден Base64 со дополнување (должина 4 × ceil(n / 3)). Тоа е грубо 33% повеќе за голем суров товар. Дополнувањето може да го промени односот кај многу мали влезови.
Која е разликата меѓу Base64 и Base64URL?
Base64URL користи - и _ наместо + и / и често го изоставува дополнувањето =. Обетe се кодирања. Кодирање Base64 ги поддржува обете азбуки.
Може ли Base64 да кодира слики и датотеки?
Да. Резултатот е текст, не помала датотека. Користете режим на датотека во Кодирање Base64 за суров Base64 или Data URL. Датотеката останува во прелистувачот.