
Coleção de funções hash criptográficas escritas em Rust puro.
Coleção de funções hash criptográficas escritas em Rust puro.
Todos os algoritmos residem em crates separados e são implementados usando traits da crate digest.
Exemplos de uso são fornecidos na documentação da crate digest e das crates de implementação de hash.
Além disso, todas as crates não exigem a biblioteca padrão (ou seja, são compatíveis com no_std) e podem ser
facilmente usadas para programação bare-metal ou WebAssembly desabilitando os recursos padrão das crates.
Para uma coleção de funções de saída extensíveis (XOFs), consulte o repositório RustCrypto/XOFs.
Nota: Para novas aplicações, ou quando a compatibilidade com outros padrões existentes não for uma preocupação principal, recomendamos fortemente usar BLAKE3, SHA-2 ou SHA-3.
NOTA: a crate blake3 implementa os traits digest usados pelo restante dos hashes neste repositório, mas é mantida pela equipe do BLAKE3.
A seguir são descritas as classificações de nível de segurança associadas a cada função hash (ou seja, algoritmos, não a implementação específica):
| Coração | Descrição |
|---|---|
| 💚 | Nenhum ataque bem-sucedido conhecido |
| 💛 | Quebra teórica: segurança menor que a declarada |
| 💔 | Ataque demonstrado na prática: evite sempre que possível |
Consulte a página Segurança na Wikipédia para mais informações.
Sempre que possível, as crates são publicadas com o mesmo nome da pasta da crate.
Os mantenedores de md5 recusaram participar deste projeto.
Esta crate não implementa os traits digest, portanto não é interoperável com o ecossistema RustCrypto.
É por isso que publicamos nossa implementação de MD5 como md-5 e a marcamos com o símbolo ❗.
Observe que a biblioteca em si é chamada md5, ou seja, em declarações use você deve usar md5, não md_5.
Todas as crates neste repositório são licenciadas sob uma das seguintes licenças:
à sua escolha.
A menos que você declare explicitamente o contrário, qualquer contribuição intencionalmente submetida para inclusão no trabalho por você, conforme definido na licença Apache-2.0, será licenciada duplamente como acima, sem quaisquer termos ou condições adicionais.
| Algoritmo | Crate | Crates.io | Documentação | MSRV | Segurança |
|---|
| 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 | 💚 |