feat: age

This commit is contained in:
2023-10-05 18:11:31 +08:00
parent 05afe67de7
commit 55e5b732f6
3 changed files with 18 additions and 0 deletions

View File

@@ -1,4 +1,5 @@
use std::convert::TryInto;
use bech32::{ToBase32, Variant};
use ed25519_dalek::{Keypair, Signer, Verifier};
use rand::rngs::OsRng;
@@ -37,6 +38,13 @@ fn main() {
let public_key_bytes: [u8; 32] = public_key_bytes.try_into().unwrap();
let public_key_card = PublicKey::from(public_key_bytes);
println!("Public key card: {}", hex::encode(public_key_card.as_bytes()));
let age_addr = bech32::encode(
"age",
public_key_card.as_bytes().to_base32(),
Variant::Bech32,
).unwrap();
println!("Public key card as age address: {}", age_addr);
let new_secret = EphemeralSecret::new(OsRng);
let new_public = PublicKey::from(&new_secret);
println!("New public key: {}", hex::encode(new_public.as_bytes()));