bubblebabble

The Bubble Babble Binary Data Encoding

3 releases

0.1.2 Nov 30, 2019
0.1.1 Nov 30, 2019
0.1.0 Nov 30, 2019

BSD-2-Clause

11KB
126 lines

Bubble Babble Binary Data Encoding

docs.rs Crates.IO Build Status Windows Build Status License

Convert bytes to the "Bubble Babble" data encoding that was defined as a mechanism to encode SSH public key fingerprints in a human-readable format.

Examples

use bubblebabble::*;
use std::net::Ipv6Addr;

// Convert 128-bit binary to bubblebabble
let data = [
    0x2a, 0x0a, 0xe5, 0xc0, 0, 0x2, 0, 0x5, 0x5c, 0xf9, 0xcc, 0xc8, 0x7c, 0x48, 0x97, 0xc0,
];
let babble = bubblebabble(&data);
assert_eq!(babble, "xepib-panus-bubub-dubyb-hilyz-nefas-myzug-mihos-bexux");

// Convert IPv6 address to stablebabble
let localhost: Ipv6Addr = "::1".parse().unwrap();
let babbleaddr = stablebabble(&localhost.octets());
assert_eq!(babbleaddr, "xebab-7wa-caxax");

See Also

The Bubble Babble Binary Data Encoding, Antti Huima, 2011

Licensed under a BSD-style license, see LICENSE for details.

No runtime deps