[][src]Struct sputnik::security::Key

pub struct Key(pub [u8; 32]);

A convenience wrapper around HMAC.

This code was adapted from the cookie crate which does not make the sign and verify functions public forcing the use of CookieJars, which are akward to work with without a high-level framework.

Implementations

impl Key[src]

pub fn try_generate() -> Option<Key>[src]

Attempts to generate signing/encryption keys from a secure, random source. Keys are generated nondeterministically. If randomness cannot be retrieved from the underlying operating system, returns None.

pub fn from(key: &[u8]) -> Key[src]

Creates a new Key from a 32 byte cryptographically random string.

pub fn sign(&self, value: &str) -> String[src]

Signs the value providing integrity and authenticity.

pub fn verify(&self, value: &str) -> Result<String, String>[src]

Extracts the value from a string signed with Key::sign. Fails if the string is malformed or the signature doesn't match.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,