Криптооперации Python реализованы в собственном коде (скомпилирован из C). Поскольку вам нужны значения в программе на Python, их будет проще.
Linux поставляется с утилитами для расчета контрольной суммы ( cksum
, md5sum
, sha1sum
, ...). То же самое делают большинство других объединений. Существует несколько портов Windows для утилит GNU (это то, что вы получаете в Linux): Cygwin, Gnuwin32, Msys, ... Вам потребуются достаточно недавние утилиты, если вы хотите получить SHA-256 и SHA-512.
Существует несколько реализаций ANSI C с очень либеральными лицензиями различных криптографических алгоритмов, часто не собранными в одном дистрибутиве. Вы можете найти их и проверить их на небольшом входе, чтобы проверить их надежность.
В Windows убедитесь, что вы правильно обрабатываете файлы как двоичные или текстовые, так как контрольные суммы определяются для байтовых потоков, а не для линейных потоков. (Обычно вы хотите открыть файлы в двоичном режиме, но если у вас есть текстовый файл, перекодированный в конец строки Windows, вам нужно будет открыть его как текст, чтобы полностью изменить эффект.) В любой ОС убедитесь, что Вы не делаете никакого перевода кодировки при открытии файла.
Поскольку скорость очень важна для вас, соберите все реализации, которые вы можете найти, и сравните их с вводом среднего размера (несколько мегабайт). Различные реализации могут дать лучшую скорость на разных архитектурах. 64-битные реализации, скорее всего, будут быстрее, если их вообще можно будет запустить.