Struct blake2b_simd::Params[][src]

pub struct Params { /* fields omitted */ }

A parameter builder for State that exposes all the various BLAKE2 features.

Apart from hash_length, which controls the length of the final Hash, all of these parameters are just associated data that gets mixed with the input. For all the details, see the BLAKE2 spec.

Several of the parameters have a valid range defined in the spec and documented below. Trying to set an invalid parameter will panic.

Example

let mut state = Params::new().hash_length(32).to_state();

Methods

impl Params
[src]

Equivalent to Params::default().

Important traits for State

Construct a State object based on these parameters.

Set the length of the final hash, from 1 to OUTBYTES (64). Apart from controlling the length of the final Hash, this is also associated data, and changing it will result in a totally different hash.

Use a secret key, so that BLAKE2b acts as a MAC. The maximum key length is KEYBYTES (64). An empty key is equivalent to having no key at all.

At most SALTBYTES (16). Shorter salts are padded with null bytes. An empty salt is equivalent to having no salt at all.

At most PERSONALBYTES (16). Shorter personalizations are padded with null bytes. An empty personalization is equivalent to having no personalization at all.

From 0 (meaning unlimited) to 255. The default is 1 (meaning sequential).

From 1 (the default, meaning sequential) to 255 (meaning unlimited).

From 0 (the default, meaning unlimited or sequential) to 2^32 - 1.

From 0 (the default, meaning first, leftmost, leaf, or sequential) to 2^64 - 1.

From 0 (the default, meaning leaf or sequential) to 255.

From 0 (the default, meaning sequential) to OUTBYTES (64).

Trait Implementations

impl Clone for Params
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Default for Params
[src]

Returns the "default value" for a type. Read more

impl Debug for Params
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl Send for Params

impl Sync for Params