refactored seed generation

This commit is contained in:
Robert Kelly
2018-05-12 15:42:27 -04:00
parent bcdb058492
commit 4cd1fa8c38

View File

@ -3,6 +3,7 @@
use generic_array::GenericArray; use generic_array::GenericArray;
use generic_array::typenum::{U32, U64}; use generic_array::typenum::{U32, U64};
use rand::{ChaChaRng, Rng, SeedableRng}; use rand::{ChaChaRng, Rng, SeedableRng};
use rayon::prelude::*;
use ring::error::Unspecified; use ring::error::Unspecified;
use ring::rand::SecureRandom; use ring::rand::SecureRandom;
use ring::signature::Ed25519KeyPair; use ring::signature::Ed25519KeyPair;
@ -68,11 +69,27 @@ impl GenKeys {
KeyPair::generate_pkcs8(self).unwrap().to_vec() KeyPair::generate_pkcs8(self).unwrap().to_vec()
} }
pub fn gen_n_keys(&self, n_keys: i64, tokens_per_user: i64) -> Vec<(Vec<u8>, i64)> { pub fn gen_n_seeds(&self, n_seeds: i64) -> Vec<[u8; 16]> {
let users: Vec<_> = (0..n_keys) let mut rng = self.generator.borrow_mut();
let seeds = (0..n_seeds)
.into_iter() .into_iter()
.map(|_| { .map(|_| {
let pkcs8 = self.new_key(); let seed: [u8; 16] = rng.gen();
seed
})
.collect();
seeds
}
pub fn gen_n_keys(&self, n_keys: i64, tokens_per_user: i64) -> Vec<(Vec<u8>, i64)> {
let keys = self.gen_n_seeds(n_keys);
let users: Vec<_> = keys
.into_par_iter()
.map(|seed| {
let new: GenKeys = GenKeys::new(&seed[..]);
let pkcs8 = KeyPair::generate_pkcs8(&new).unwrap().to_vec();
(pkcs8, tokens_per_user) (pkcs8, tokens_per_user)
}) })
.collect(); .collect();