1use crate::error::CryptoResult;
4use base64::{Engine as _, engine::general_purpose};
5
6pub fn base64_encode(input: &[u8]) -> String {
8 general_purpose::STANDARD.encode(input)
9}
10
11pub fn base64_decode(input: &str) -> CryptoResult<Vec<u8>> {
13 Ok(general_purpose::STANDARD.decode(input)?)
14}
15
16pub fn base64url_encode(input: &[u8]) -> String {
18 general_purpose::URL_SAFE_NO_PAD.encode(input)
19}
20
21pub fn base64url_decode(input: &str) -> CryptoResult<Vec<u8>> {
23 Ok(general_purpose::URL_SAFE_NO_PAD.decode(input)?)
24}