mod tests {
use rovkit::cryptokit::*;
#[test]
fn test_aes() {
println!("=== AES 加解密示例 ===");
let (aes_key, aes_iv) = aeskit::generate_aes_key_iv();
println!("AES Key: {}", hex::encode(&aes_key));
println!("AES IV: {}", hex::encode(&aes_iv));
let plaintext = "Hello, AES encryption!";
println!("原始文本: {}", plaintext);
let encrypted = aeskit::aes_encrypt(plaintext.as_bytes(), &aes_key, &aes_iv);
println!("加密结果: {}", hex::encode(&encrypted));
let decrypted = aeskit::aes_decrypt(&encrypted, &aes_key, &aes_iv);
println!("解密结果: {}", String::from_utf8(decrypted).unwrap());
}
#[test]
fn test_rsa() {
println!("=== RSA 加解密示例 ===");
let (mut rng, public_key, private_key) = rsakit::generate_rsa_keys();
println!("RSA rng:\n{:?}", rng);
println!("RSA 公钥:\n{:?}", public_key);
println!("RSA 私钥:\n{:?}", private_key);
let plaintext = "Hello, RSA encryption!";
println!("原始文本: {}", plaintext);
let encrypted = rsakit::rsa_encrypt(&mut rng, &public_key, plaintext.as_bytes());
println!("加密结果: {}", hex::encode(&encrypted));
let decrypted = rsakit::rsa_decrypt(&private_key, &encrypted);
let s2 = String::from_utf8(decrypted).unwrap();
println!("解密结果: {}", &s2);
assert_eq!(plaintext, s2);
}
}