extern crate rand;
#[macro_use]
extern crate index_fixed;
#[macro_use]
extern crate unwrap;
#[cfg(test)]
extern crate rustc_serialize;
extern crate serde;
extern crate memsec;
#[macro_use] mod newtype_macros;
pub mod hash;
pub mod onetimeauth;
mod shared;
pub mod stream;
pub mod sign;
pub mod secretbox;
pub mod boxy;
use rand::Rng;
pub fn randombytes(x: &mut [u8]){
let mut rng = rand::OsRng::new().unwrap();
rng.fill_bytes(x);
}
pub fn get_random_bytes(len: usize) -> Vec<u8> {
use std::iter::repeat;
let mut buf: Vec<u8> = repeat(0u8).take(len).collect();
let mut seed = buf.as_mut_slice();
randombytes(&mut seed);
let v = seed.to_vec();
v
}