
순수 Rust로 작성된 암호화 해시 함수 모음
순수 Rust로 작성된 암호화 해시 함수 모음입니다.
모든 알고리즘은 별도의 크레이트에 있으며 digest 크레이트의 트레이트를 사용하여 구현됩니다.
사용 예제는 digest 및 해시 구현 크레이트 문서에 제공됩니다.
또한 모든 크레이트는 표준 라이브러리를 요구하지 않으며(즉, no_std 지원) 기본 크레이트 기능을
비활성화하여 베어메탈 또는 WebAssembly 프로그래밍에 쉽게 사용할 수 있습니다.
확장 가능 출력 함수(XOF) 모음은 RustCrypto/XOFs 저장소를 참조하세요.
참고: 새로운 애플리케이션이나 기존 표준과의 호환성이 주요 고려 사항이 아닌 경우, BLAKE3, SHA-2 또는 SHA-3 중 하나를 사용하는 것을 강력히 권장합니다.
참고: blake3 크레이트는 이 저장소의 나머지 해시들이 사용하는 digest 트레이트를 구현하지만 BLAKE3 팀이 유지 관리합니다.
다음은 각 해시 함수(즉, 특정 구현이 아닌 알고리즘)와 관련된 보안 수준 등급을 설명합니다.
| 심장 | 설명 |
|---|---|
| 💚 | 알려진 성공적인 공격 없음 |
| 💛 | 이론적 붕괴: 주장된 것보다 낮은 보안 |
| 💔 | 실제로 입증된 공격: 가능하면 피할 것 |
자세한 내용은 Wikipedia의 보안 페이지를 참조하세요.
가능한 경우 크레이트는 크레이트 폴더와 동일한 이름으로 게시됩니다.
md5 소유자는 이 프로젝트 참여를 거절했습니다.
이 크레이트는 digest 트레이트를 구현하지 않으므로 RustCrypto 생태계와 상호 운용되지 않습니다.
이것이 우리가 MD5 구현을 md-5로 게시하고 ❗ 표시를 붙이는 이유입니다.
라이브러리 자체의 이름은 md5입니다. 즉, use 문 안에서는 md_5가 아닌 md5를 사용해야 합니다.
이 저장소의 모든 크레이트는 다음 중 하나에 따라 라이선스가 부여됩니다.
선택에 따라 적용됩니다.
명시적으로 달리 명시하지 않는 한, Apache-2.0 라이선스에 정의된 바와 같이 귀하가 저작물에 포함시키기 위해 의도적으로 제출한 모든 기여는 추가 약관이나 조건 없이 위와 같이 이중 라이선스가 적용됩니다.
| 알고리즘 | 크레이트 | Crates.io | 문서 | MSRV | 보안 |
|---|
| 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 | 💚 |