seqcol_rs 0.4.1

library to implement seqcol in rust
Documentation
use crate::constants;
use base64::{Engine as _, prelude::BASE64_URL_SAFE};
use sha2::{Digest, Sha512};

#[inline(always)]
pub fn sha512t24u_digest_default(attr: &[u8]) -> String {
    sha512t24u_digest(attr, constants::DEFAULT_DIGEST_BYTES)
}

#[inline(always)]
pub fn sha512t24u_digest(attr: &[u8], offset: usize) -> String {
    let digest = Sha512::digest(attr);
    BASE64_URL_SAFE.encode(&digest[..offset])
}

#[inline(always)]
pub fn canonical_rep(inp: &serde_json::Value) -> anyhow::Result<String> {
    let mut out = inp.clone();
    out.sort_all_objects();
    Ok(serde_json::to_string(&out)?)
}