1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
extern crate blake2_rfc; extern crate ring; extern crate untrusted; pub mod hasher; pub mod signature; pub mod identity; pub mod errors; #[cfg(test)] mod tests { use identity::Identity; use signature::{SignatureType, ed25519_random}; use hasher::HashType; #[test] fn test_identity_creation(){ let _ident = Identity::new(SignatureType::Ed25519 { key: ed25519_random().unwrap(), }, HashType::Blake2b256); } #[test] fn test_identity_sign_verify(){ let ident = Identity::new(SignatureType::Ed25519 { key: ed25519_random().unwrap(), }, HashType::Blake2b256); let data = vec![1, 2, 3, 4, 5]; let mut sig = ident.sign(data.as_slice()).unwrap(); assert_eq!(true, ident.verify(data.as_slice(), sig.as_slice())); sig[0] += 1; assert_eq!(false, ident.verify(data.as_slice(), sig.as_slice())); } #[test] fn test_identity_hash(){ let ident = Identity::new(SignatureType::Ed25519 { key: ed25519_random().unwrap(), }, HashType::Blake2b256); let data = vec![1, 2, 3, 4]; let hash = ident.hash(data.as_slice()); assert_eq!(hash.as_slice(), &[40, 81, 126, 76, 223, 108, 144, 121, 140, 26, 152, 59, 3, 114, 124, 167, 116, 60, 33, 163, 136, 6, 114, 66, 156, 207, 197, 189, 21, 234, 95, 114]); assert_eq!(hash.len(), 32); } }