Обновить

Комментарии 5

какой md5?

  1. Нулевая стойкость к коллизиям, но к нахождению прообразов -- вполне себе. Там, где 1ое не важно и хватает 128 бит хеша -- его можно применять

  2. на процессорах с SHA-NI или эквивалентами действительно md5 получается сильно медленнее чем SHA1 или SHA256. Но вот во всех остальных случаях md5 всё ещё чуть ли не самый быстрый (без чита типа "а тут мы считаем хеш в 32 потока", который так любят некоторые изобретатели криптохешей)

Мне как то понадобился MD5 в браузере и на стороне сервера(PHP) из-за скорости его работы.
Ничего секретного у меня там не было.

Если не использовать старые браузеры типа IE<11 и уж тем более Node.js, что уж прямо нелогично на сервере, то смысла в этих недообертках вообще нет, так как есть базовый API, его и пользуйте (этот же subtle) доступен со времен гороха, в Node.js как глобальный уже версии чуть ли не с 16, уже 20 с поддержки в апреле снимают. А потом удивляются откуда эти пакеты с зависимостями по несколько тысяч файлов с библиотеками на 3 строки кода или бойлер плейтами для поддержки IE6.
Если взглянуть на результат то как посчитали менее 1КБ вообще не ясно, тупо по размерам взять там js~24kb, cjs~94kb
Единственный плюс от либы это реализация устаревшего алгоритма, который уже из современных стеков выпилен зачастую, но и тут я бы предпочел какую то более совместимую реализацию без кучи полифилов.
Ладно хоть в бандле загрузка не ленивая, а то еще бы породил дополнительные чанки при сборке в браузере

Круто, что кто-то наконец сделал MD5 универсальным и с TypeScript. Особенно радует стриминг больших файлов удобно и без риска съесть всю память. Для кэшей и проверок файлов идеальный вариант, без лишнего пафоса безопасности.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации