Para Windows, puede usar PowerShell, que está instalado de forma predeterminada en Windows 7/Server 2008 R2 y en adelante. La función Get-FileHash se introdujo en PowerShell v4, que viene con Windows 8.1 y Windows Server 2012 R2. Para versiones anteriores de PowerShell, estos scripts del blog de James Manning serán la solución.
Ejemplo de uso de Get-FileHash:
C:\Windows> Get-FileHash -Algorithm md5 .\notepad.exe
Algorithm Hash Path
--------- ---- ----
MD5 24DA05ADE2A978E199875DA0D859E7EB C:\Windows\notepad.exe
Los algoritmos admitidos son SHA1, SHA256, SHA384, SHA512, MACTripleDES, MD5 y RIPEMD160.
La única herramienta que me viene a la mente, particularmente para Unixes (o como se supone que debes pluralizar eso) es openssl:
openssl dgst -sha256 path/to/file
El comando openssl dgst proporciona muchas opciones comunes de hash, y openssl está instalado en la mayoría de los sistemas Unix de forma predeterminada y también está disponible para Windows. Creo que también se envía con OSX. Estoy de acuerdo, es una situación menos que ideal para que Windows se envíe sin dicha herramienta.
En cuanto a las herramientas GUI, personalmente no conozco ninguna otra que HashCalc, que ya ha mencionado.
En un entorno mixto de Windows/Unix, lo que uso para los algoritmos criptográficos comunes es:
- OpenSSL para muchos cálculos, especialmente hashes (pero no HMAC) y manipulaciones de certificados X.509.
- Python
hashlib
yhmac
para SHA y HMAC.
Desafortunadamente, ninguno se proporciona con Windows, requieren una instalación por separado.
Aquí hay una simple línea para calcular el HMAC de un archivo usando Python. Escriba la clave en hexadecimal en la terminal (o pásela a la entrada estándar con echo … |
, pero tenga en cuenta que la clave terminará en el historial de shell). El archivo se lee en la memoria, lo que no funciona con archivos grandes.
python -c "import binascii, hashlib, hmac, sys; print hmac.new(binascii.unhexlify(str.strip(sys.stdin.readline())), open(sys.argv[1]).read(), hashlib.sha256).hexdigest()" myfile.dat
En Windows, un verificador de hash simple (compatible con SHA y algunos más, y HMAC) que puede usar una persona sin conocimientos técnicos es SlavaSoft HashCalc. Lamentablemente, no es de código abierto, por lo que es posible que no tenga la máxima confianza en su funcionamiento.