indy-utils 0.3.7

Utilities for Hyperledger Indy (https://www.hyperledger.org/projects), which provides a distributed-ledger-based foundation for self-sovereign identity (https://sovrin.org).
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use base64_rs as base64;

pub use base64::encode;

use crate::error::ConversionError;

pub fn decode<T: AsRef<[u8]>>(val: T) -> Result<Vec<u8>, ConversionError> {
    Ok(base64::decode(val).map_err(|err| ("Error decoding base64 data", err))?)
}

pub fn decode_urlsafe<T: AsRef<[u8]>>(val: T) -> Result<Vec<u8>, ConversionError> {
    Ok(base64::decode_config(val, base64::URL_SAFE)
        .map_err(|err| ("Error decoding base64-URL data", err))?)
}

pub fn encode_urlsafe<T: AsRef<[u8]>>(val: T) -> String {
    base64::encode_config(val, base64::URL_SAFE)
}