Function fcp_cryptoauth::keys::publickey_to_ipv6addr [] [src]

pub fn publickey_to_ipv6addr(pk: &PublicKey) -> Ipv6Addr

Converts a public key to an Ipv6Addr, according to the first paragraph of https://github.com/cjdelisle/cjdns/blob/cjdns-v19.1/doc/Whitepaper.md#pulling-it-all-together

Example

use std::net::Ipv6Addr;
use std::str::FromStr;
use fcp_cryptoauth::cryptography::crypto_box::PublicKey;
use fcp_cryptoauth::keys::{FromBase32, publickey_to_ipv6addr};
let pk = PublicKey::from_base32(b"2wrpv8p4tjwm532sjxcbqzkp7kdwfwzzbg7g0n5l6g3s8df4kvv0.k").unwrap();
let ip6 = Ipv6Addr::from_str("fc8f:a188:1b5:4de9:b0cb:5729:23a1:60f9").unwrap();
assert_eq!(publickey_to_ipv6addr(&pk), ip6);