feat: age
This commit is contained in:
9
__crypto/curve25519/Cargo.lock
generated
9
__crypto/curve25519/Cargo.lock
generated
@@ -1,5 +1,13 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "bech32"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445"
|
||||
|
||||
[[package]]
|
||||
name = "block-buffer"
|
||||
version = "0.9.0"
|
||||
@@ -37,6 +45,7 @@ checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634"
|
||||
name = "curve25519"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"bech32",
|
||||
"curve25519-dalek",
|
||||
"ed25519-dalek",
|
||||
"hex",
|
||||
|
||||
@@ -12,3 +12,4 @@ rand = "0.7.3"
|
||||
x25519-dalek = "1.1.0"
|
||||
ed25519-dalek = "1.0.1"
|
||||
curve25519-dalek = "3.0.0"
|
||||
bech32 = "0.9.1"
|
||||
|
||||
@@ -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()));
|
||||
|
||||
Reference in New Issue
Block a user