Crate keybob[][src]

Utility crate that creates cryptographic keys

This crate provides an easy API to create and work with cryptographic keys. For now only Aes128 (32 byte) and Aes256 (64 byte) keys are supported but more can be added easily.

To create a key, you can either generate one from scratch or use a user provided password/ name (as salt) combination.

extern crate keybob;
use keybob::{Key, KeyType};
let key = Key::new(KeyType::Aes256);

Additionally, all keybob keys are easily serialized with serde

extern crate serde_json;
extern crate keybob;
use keybob::{Key, KeyType};
let k = Key::new(KeyType::Aes128);
let ser = serde_json::to_string(&k).unwrap();
let de: Key = serde_json::from_str(&ser).unwrap();
assert_eq!(k, de);

Key::from_pw uses the pbkdf2 key derivation function with a Hmac<Blake2b> hash to expand a user password/name (salt) into a key object of a certain type.

To then use the key, use as_slice() or as_mut_slice() on the key object.

For more examples, check the tests directory

Structs

Key

A crytographic key of a certain type

Enums

KeyType

The type of key that should be created