
Colección de funciones hash criptográficas escritas en Rust puro
Colección de funciones hash criptográficas escritas en Rust puro.
Todos los algoritmos residen en crates separados y se implementan utilizando los traits del crate digest.
Se proporcionan ejemplos de uso en la documentación de digest y de los crates de implementación de hash.
Además, todos los crates no requieren la biblioteca estándar (es decir, son compatibles con no_std) y pueden
usarse fácilmente para programación bare-metal o WebAssembly deshabilitando las características predeterminadas de los crates.
Para una colección de funciones de salida extensibles (XOF), consulte el repositorio RustCrypto/XOFs.
Nota: Para aplicaciones nuevas, o cuando la compatibilidad con otros estándares existentes no sea una preocupación principal, recomendamos encarecidamente usar BLAKE3, SHA-2 o SHA-3.
NOTA: el crate blake3 implementa los traits digest utilizados por el resto de los hashes de este repositorio, pero es mantenido por el equipo de BLAKE3.
Lo siguiente describe las calificaciones de nivel de seguridad asociadas con cada función hash (es decir, los algoritmos, no la implementación específica):
| Heart | Description |
|---|---|
| 💚 | Sin ataques exitosos conocidos |
| 💛 | Ruptura teórica: seguridad inferior a la reclamada |
| 💔 | Ataque demostrado en la práctica: evítelo en la medida de lo posible |
Consulte la página Security en Wikipedia para obtener más información.
Siempre que es posible, los crates se publican bajo el mismo nombre que la carpeta del crate.
Los responsables de md5 declinaron participar en este proyecto.
Este crate no implementa los traits digest, por lo que no es interoperable con el ecosistema RustCrypto.
Por eso publicamos nuestra implementación de MD5 como md-5 y la marcamos con el símbolo ❗.
Tenga en cuenta que la biblioteca en sí se llama md5, es decir, dentro de las sentencias use debe usar md5, no md_5.
Todos los crates de este repositorio están licenciados bajo cualquiera de las siguientes:
a su elección.
Salvo que usted indique explícitamente lo contrario, cualquier contribución enviada intencionalmente para su inclusión en el trabajo, según lo definido en la licencia Apache-2.0, se licenciará de forma dual como se indicó anteriormente, sin términos ni condiciones adicionales.
| Algorithm | Crate | Crates.io | Documentation | MSRV | Security |
|---|
| Ascon-Hash256 | ascon‑hash256 | 1.85 | 💚 | ||
| bash-hash | bash‑hash | 1.85 | 💚 | ||
| BelT hash | belt‑hash | 1.85 | 💚 | ||
| BLAKE2 | blake2 | 1.85 | 💚 | ||
| FSB | fsb | 1.85 | 💚 | ||
| GOST R 34.11-94 | gost94 | 1.85 | 💛 | ||
| Grøstl (Groestl) | groestl | 1.85 | 💚 | ||
| JH | jh | 1.85 | 💚 | ||
| Kupyna | kupyna | 1.85 | 💚 | ||
| MD2 | md2 | 1.85 | 💔 | ||
| MD4 | md4 | 1.85 | 💔 | ||
| MD5 | md5 ❗ | 1.85 | 💔 | ||
| RIPEMD | ripemd | 1.85 | 💚 | ||
| SHA-1 | sha1 | 1.85 | 💔 | ||
| SHA-1 Checked | sha1-checked | 1.85 | 💛 | ||
| SHA-2 | sha2 | 1.85 | 💚 | ||
| SHA-3 (Keccak) | sha3 | 1.85 | 💚 | ||
| SHABAL | shabal | 1.85 | 💚 | ||
| Skein | skein | 1.85 | 💚 | ||
| SM3 (OSCCA GM/T 0004-2012) | sm3 | 1.85 | 💚 | ||
| Streebog (GOST R 34.11-2012) | streebog | 1.85 | 💛 | ||
| Tiger | tiger | 1.85 | 💛 | ||
| Whirlpool | whirlpool | 1.85 | 💚 |