27 lines
605 B
Rust
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);
|
|
}
|
|
} |