Struct ring::digest::Algorithm [] [src]

pub struct Algorithm {
    pub output_len: usize,
    pub chaining_len: usize,
    pub block_len: usize,
    pub nid: int,
    // some fields omitted
}

A digest algorithm.

C analog: EVP_MD

Fields

output_len

C analog: EVP_MD_size

chaining_len

The size of the chaining value of the digest function, in bytes. For non-truncated algorithms (SHA-1, SHA-256, SHA-512), this is equal to output_len. For truncated algorithms (e.g. SHA-384, SHA-512/256), this is equal to the length before truncation. This is mostly helpful for determining the size of an HMAC key that is appropriate for the digest algorithm.

block_len

C analog: EVP_MD_block_size

nid

The OpenSSL/BoringSSL NID for the algorithm. For all the algorithms defined in this module, a.nid == b.nid implies that a and b are references to the same algorithm.