As operações de criptografia em python são implementadas em código nativo (compilado a partir de C). Como você deseja os valores em um programa python, usá-los será mais simples.
O Linux vem com utilitários para cálculos de soma de verificação ( cksum
, md5sum
, sha1sum
, ...). Então faça a maioria dos outros unices. Existem várias portas Windows dos utilitários GNU (que é o que você obtém no Linux): Cygwin , Gnuwin32 , Msys , ... Você precisará de informações recentes o suficiente utilitários se você deseja obter SHA-256 e SHA-512.
Existem várias implementações ANSI C com licenças muito liberais de vários algoritmos criptográficos flutuantes, muitas vezes não coletadas em uma única distribuição. Você poderia procurá-los e testá-los em pequenas entradas para verificar sua confiabilidade.
No Windows, certifique-se de tratar corretamente os arquivos como binários ou texto conforme desejado, pois as somas de verificação são definidas por fluxos de bytes, não por fluxos de linha. (Normalmente, você deseja abrir os arquivos no modo binário, mas se tiver um arquivo de texto que tenha sido transcodificado para finais de linha do Windows, será necessário abri-lo como texto para reverter o efeito.) Em qualquer sistema operacional, verifique você não faz nenhuma tradução de codificação ao abrir o arquivo.
Como a velocidade é muito importante para você, reúna todas as implementações que você pode encontrar e faça benchmark delas em entradas de tamanho moderado (alguns megabytes). Diferentes implementações podem dar melhor velocidade em diferentes arquiteturas. É provável que as implementações de 64 bits sejam mais rápidas onde você possa executá-las.