chore: reorg

This commit is contained in:
2020-10-17 11:47:07 +08:00
parent 9d4d830115
commit a034988643
56 changed files with 13431 additions and 0 deletions

42
__crypto/ring/src/main.rs Normal file
View File

@@ -0,0 +1,42 @@
use ring::{
signature::{ KeyPair, Ed25519KeyPair, UnparsedPublicKey, ED25519 },
hmac, rand, error::Unspecified,
digest,
};
const SEED_LEN: usize = 32;
fn main() -> Result<(), Unspecified> {
{
println!("{} HHmac {}", "-".repeat(10), "-".repeat(10));
let rng = rand::SystemRandom::new();
let key = hmac::Key::generate(hmac::HMAC_SHA256, &rng)?;
let msg = "hello, world";
let tag = hmac::sign(&key, msg.as_bytes());
println!("{:?}", tag);
hmac::verify(&key, msg.as_bytes(), tag.as_ref())?;
println!("Verify success");
}
{
println!("{} SHA256 {}", "-".repeat(10), "-".repeat(10));
let sha256 = digest::digest(&digest::SHA256, b"hello, world");
println!("{:?}", sha256);
}
{
println!("{} EdDSA {}", "-".repeat(10), "-".repeat(10));
let rng = rand::SystemRandom::new();
let seed: [u8; SEED_LEN] = rand::generate(&rng)?.expose();
println!("seed: {}", hex::encode(&seed));
let key_pair = Ed25519KeyPair::from_seed_unchecked(&seed)?;
println!("private: {:?}", key_pair);
let sig = key_pair.sign(&"hello world".as_bytes());
println!("signature: {}", hex::encode(sig.as_ref()));
let public_key = key_pair.public_key().as_ref();
let verify_result = UnparsedPublicKey::new(&ED25519, &public_key).verify(&"hello world".as_bytes(), sig.as_ref());
println!("verify: {}", verify_result.is_ok());
}
Ok(())
}