// Generic functions used by pretty much everyone use base64::{self, encode_config}; use getrandom::getrandom; pub fn encode_param(raw: &[u8]) -> String { let cfg = base64::Config::new(base64::CharacterSet::UrlSafe, false); encode_config(raw, cfg) } pub fn new_key() -> [u8; 64] { let mut raw_slice = [0u8; 64]; let _ignored = getrandom(&mut raw_slice).unwrap(); return raw_slice; } #[cfg(test)] mod encoder_decoder_tests { use super::*; #[test] fn encode_decode() { let raw = new_key(); let enc = encode_param(&raw); print!("{}", enc); } }