Кодирование и хеши
Base64, URL-кодирование, HTML-мнемоники и Юникод — в обе стороны. Рядом контрольные суммы: MD5, SHA-1, SHA-256 и SHA-512 для текста и для файла, со сверкой по эталону.
Что делаем
Любой из четырёх — узнаем по длине.
Исходный текст
Результат
Контрольные суммы
Что для чего
Base64 превращает любые данные в строку из букв и цифр. Нужен там, где двоичное не пройдёт: картинка внутри CSS, вложение в письме, ключ в конфиге. Платить приходится объёмом — текст растёт примерно на треть. Шифрованием это не является: раскодировать может кто угодно, в том числе этим же инструментом.
URL-кодирование бывает двух видов, и их путают. «Часть адреса» кодирует всё подряд, включая косые черты и двоеточия, — так кодируют значение параметра. «Адрес целиком» щадит знаки, из которых адрес состоит, и годится, когда нужно подлатать ссылку, не разломав её.
HTML-мнемоники нужны, чтобы текст не перепутали с разметкой: знак «меньше» в тексте и начало тега выглядят одинаково. Кодирование здесь строгое — заменяются все пять опасных знаков, включая кавычки, чтобы результат можно было класть и внутрь атрибута.
Хеши — это короткий отпечаток данных. Поменяйте в файле один байт, и отпечаток изменится полностью. Отсюда и применение: скачали дистрибутив, посчитали сумму, сверили с той, что на сайте, — значит, файл дошёл целым и его не подменили. Вставьте эталон в поле слева, и совпавшая строка подсветится сама.
Какой выбрать. Для сверки файлов годится любой. Для защиты — только SHA-256 и SHA-512: MD5 и SHA-1 давно научились подделывать, то есть подбирать другой файл с тем же отпечатком. MD5 остаётся здесь потому, что им по-прежнему подписывают архивы и старые дистрибутивы, и сверить бывает нужно. Браузер MD5 считать не умеет — его из встроенных средств убрали, — поэтому он посчитан нашим кодом, проверенным по контрольным значениям из спецификации.
Файл для подсчёта суммы никуда не отправляется: он читается в браузере. Поэтому и размер ограничен памятью вкладки — очень большой образ лучше проверить обычной командой в терминале.