
Colección de funciones hash criptográficas escritas en Rust puro
[![Project Chat][chat-image]][chat-link] [![dependency status][deps-image]][deps-link] ![Apache2/MIT licensed][license-image]
Colección de [funciones hash criptográficas][1] escritas en Rust puro.
Todos los algoritmos residen en crates separados y están implementados usando traits del crate [digest].
Los ejemplos de uso se proporcionan 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 del crate.
Para una colección de [funciones de salida extensible (XOFs)][XOF], consulte el repositorio [RustCrypto/XOFs].
Nota: Para nuevas aplicaciones, o cuando la compatibilidad con otros estándares existentes no sea una preocupación principal, recomendamos encarecidamente usar [BLAKE3][blake3], SHA-2 o SHA-3.
| Algoritmo | Crate | Crates.io | Documentación | MSRV | [Seguridad] |
|---|---|---|---|---|---|
| [Ascon-Hash256] | [ascon‑hash256] | 1.85 | 💚 | ||
| [bash-hash][STB 34.101.77-2020] | [bash‑hash] | 1.85 | 💚 | ||
| hash [BelT] | [belt‑hash] | 1.85 | 💚 | ||
| [BLAKE2] | [blake2] | 1.85 | 💚 | ||
| [FSB] | [fsb] | 1.85 | 💚 | ||
| [GOST R 34.11-94][GOST94] | [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.88 | 💚 | ||
| [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 | 💚 |
NOTA: el crate [blake3] implementa los traits digest utilizados por el resto de los hashes de este repositorio, pero está mantenido por el equipo de BLAKE3.
A continuación se describen las calificaciones de nivel de seguridad asociadas a cada función hash (es decir, algoritmos, no la implementación específica):
| Corazón | Descripción |
|---|---|
| 💚 | No se conocen ataques exitosos |
| 💛 | Ruptura teórica: seguridad inferior a la declarada |
| 💔 | Ataque demostrado en la práctica: evitar si es posible |
Consulte la página Security en Wikipedia para más información.
Siempre que es posible, los crates se publican con el mismo nombre que la carpeta del crate.
Los propietarios de md5 rechazaron participar en este proyecto.
Este crate no implementa los traits [digest], por lo que no es interoperable con el ecosistema RustCrypto.
Por esta razón 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: