pub struct HMAC { /* fields omitted */ }
Provides HMAC computation.
Calculate a HMAC in one go.
use openssl::crypto::hash::Type;
use openssl::crypto::hmac::hmac;
let key = b"Jefe";
let data = b"what do ya want for nothing?";
let spec = b"\x75\x0c\x78\x3e\x6a\xb0\xb5\x03\xea\xa8\x6e\x31\x0a\x5d\xb7\x38";
let res = hmac(Type::MD5, key, data);
assert_eq!(res, spec);
Use the Write
trait to supply the input in chunks.
use std::io::prelude::*;
use openssl::crypto::hash::Type;
use openssl::crypto::hmac::HMAC;
let key = b"Jefe";
let data: &[&[u8]] = &[b"what do ya ", b"want for nothing?"];
let spec = b"\x75\x0c\x78\x3e\x6a\xb0\xb5\x03\xea\xa8\x6e\x31\x0a\x5d\xb7\x38";
let mut h = HMAC::new(Type::MD5, &*key);
h.write_all(data[0]);
h.write_all(data[1]);
let res = h.finish();
assert_eq!(res, spec);
Creates a new HMAC
with the specified hash type using the key
.
Returns the hash of the data written since creation or
the last finish
and resets the hasher.
Write a buffer into this object, returning how many bytes were written. Read more
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
Attempts to write an entire buffer into this write. Read more
Writes a formatted string into this writer, returning any error encountered. Read more
Creates a "by reference" adaptor for this instance of Write
. Read more
Performs copy-assignment from source
. Read more
Executes the destructor for this type. Read more