Cargo Features

[dependencies]
rshash = { version = "0.3.0", default-features = false, features = ["deprecated", "obsolete", "fsb-asm", "md5-asm", "sha1-asm", "sha2-asm", "whirlpool-asm", "asm", "blake3-neon", "blake3-rayon"] }
default = deprecated, obsolete

These default features are set whenever rshash is added without default-features = false somewhere in the dependency tree.

deprecated default = gost94, streebog

Hash algorithms broken in theory

obsolete default = md-5, md2, md4, sha-1

Hash algorithms broken in practice

fsb-asm asm?

For assembly implementation.

Enables asm of fsb

md5-asm asm?

Enables asm of md-5 ^0.9.1

sha1-asm asm?

Enables asm of sha-1 ^0.9.8

sha-1:

WARNING: this feature SHOULD NOT be enabled by library crates

sha2-asm asm?

Enables asm of sha2 ^0.9.8

whirlpool-asm asm?

Enables asm of whirlpool ^0.9.0

asm = fsb-asm, md5-asm, sha1-asm, sha2-asm, whirlpool-asm
blake3-neon

For BLAKE3 optimization.

Enables neon of blake3

blake3-rayon

Enables rayon of blake3

blake3:

The rayon feature (disabled by default, but enabled for docs.rs) adds the update_rayon and (in combination with mmap below) update_mmap_rayon methods, for multithreaded hashing. However, even if this feature is enabled, all other APIs remain single-threaded.

Implementation detail: We take a dependency on rayon-core instead of rayon, because it builds faster and still includes all the APIs we need.

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

gost94 deprecated

Enables gost94 ^0.9.1

md-5 md5-asm? obsolete

Enables md-5 ^0.9.1

md2 obsolete

Enables md2 ^0.9.0

md4 obsolete

Enables md4 ^0.9.0

sha-1 obsolete sha1-asm?

Enables sha-1 ^0.9.8

streebog deprecated

Enables streebog ^0.9.2