Cabinet Noir>Історія / Base 64

Не знаєте, який це шифр? Розпізнайте його
Кодування, а не шифр: три байти стають чотирма символами з нерухомого алфавіту на 64 знаки.
Типкодування, а не шифрування
Зламзлам тривіальний
Епоха1990-ті
НазваСтандартизоване для MIME-додатків електронної пошти (Натаніель Боренштейн, RFC 2045).
Режимикодувати · розкодувати

Історія

Base 64

Історія Base64

Проблема: електронна пошта не могла нести байти

Електронна пошта 1980-х припускав текст найдавніших протоколів: рядки друкованих символів, жодних байтів вище 127, жодного сирого бінару. Додатки — зображення, виконувані файли, архіви — просто не могли подорожувати. Розв'язання мусило говорити мовою каналу: переписати кожен байт друкованим текстом.

MIME дає відповідь (1992–1996)

Стандарт MIME Натаніеля Боренштейна — створений, щоб пошта несла багатий вміст, — визначив родину «кодувань передачі вмісту» й обрав 64 символи як золоту середину: досить багато, щоб overhead був малим, і досить мало, щоб оминути всі символи, які шматували шлюзи. Специфікація MIME 1996 року (RFC 2045) зафіксувала точний алфавіт — і Base64-додатки почали затоплювати скриньки.

З пошти всюди

Стандартизоване, Base64 вибігло з поштової скриньки. Data URL вбудовує зображення в стилі; JWT-токени несуть JSON-навантаження секціями Base64; бази даних, логи й API зберігають бінарні бриди як текст. RFC 4648 (2006) звів родину базових кодувань докупи й формалізував варіанти — включно з URL-безпечним кузеном, що міняє + і / на - та _.

Урок, що лишився при ньому

Кожне покоління наново відкриває ту саму помилку: побачити вихід Base64 і назвати його шифруванням. Це форма кур'єра, а не бронежилет — кодування існує, щоб дані пережили дорогу, і воно з такою ж легкістю розгортає себе на прибутті. Цей сайт тримає його в компанії справжніх шифрів саме для того, щоб різницю було неможливо не помітити.

1992MIME вводить base64, щоб пошта могла нести додатки крізь суто текстові канали. Джерело
1996RFC 2045 фіксує точний 64-символьний алфавіт, яким пошта користується й досі. Джерело
2006RFC 4648 зводить докупи родину базових кодувань, включно з URL-безпечним варіантом. Джерело