freechat/server/src/utils.rs
2020-05-20 02:05:43 -07:00

27 lines
605 B
Rust

// 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);
}
}