01
Перед началом
Выбор файлов допускает: text/plain, */*. Содержимое и кодировка тоже должны поддерживаться; одного расширения недостаточно.
02
Чего ожидать
Сравнивайте результат с эталоном, полученным тем же алгоритмом для тех же данных. Изменение байта или перевода строки меняет хеш. Совпадение контрольной суммы не доказывает авторство файла.
SHA-1 оставлен для совместимости. Он подвержен коллизиям и не подходит для новых решений, требующих криптографической стойкости.
03
Ограничения
Большие файлы обрабатываются дольше и могут занять много памяти.
Некоторые метаданные могут быть удалены или перезаписаны в итоговом файле.