Skip to main content

wae_crypto/
base64.rs

1//! Base64 编解码模块
2
3use crate::error::CryptoResult;
4use base64::{Engine as _, engine::general_purpose};
5
6/// 标准 Base64 编码
7pub fn base64_encode(input: &[u8]) -> String {
8    general_purpose::STANDARD.encode(input)
9}
10
11/// 标准 Base64 解码
12pub fn base64_decode(input: &str) -> CryptoResult<Vec<u8>> {
13    Ok(general_purpose::STANDARD.decode(input)?)
14}
15
16/// Base64URL 编码(URL 安全无填充)
17pub fn base64url_encode(input: &[u8]) -> String {
18    general_purpose::URL_SAFE_NO_PAD.encode(input)
19}
20
21/// Base64URL 解码(URL 安全无填充)
22pub fn base64url_decode(input: &str) -> CryptoResult<Vec<u8>> {
23    Ok(general_purpose::URL_SAFE_NO_PAD.decode(input)?)
24}