reallyme-codec 0.1.9

ReallyMe codec utilities for PEM, lowercase hex, multibase, multicodec, multikey, CBOR, JCS, and base encodings.
Documentation

reallyme-codec

reallyme-codec is the codec-only Rust package from the ReallyMe Codec workspace. It provides stable byte-format utilities without pulling in signature, AEAD, KEM, or password-hashing implementations.

Use this crate when a resolver, service, or tool needs key and content encodings but does not need cryptographic operations. The supported surface is algorithm-agnostic: PEM armor, base64/base64url, lowercase hex, multibase, multicodec, multikey, canonical CBOR/DAG-CBOR helpers, and JSON Canonicalization Scheme helpers.

Install

[dependencies]
reallyme-codec = "0.1.9"

The default feature set enables every codec family. Consumers that need a smaller dependency surface can select only the families they use:

[dependencies]
reallyme-codec = { version = "0.1.9", default-features = false, features = ["base64url", "multikey"] }

Quick Start

use reallyme_codec::base64url::{base64url_to_bytes, bytes_to_base64url};

fn round_trip() -> Result<(), reallyme_codec::base64url::Base64UrlError> {
    let encoded = bytes_to_base64url(b"hello");
    let decoded = base64url_to_bytes(&encoded)?;
    assert_eq!(decoded, b"hello");
    Ok(())
}

Multikey support treats keys as opaque public bytes plus a multicodec prefix. Algorithm-aware key parsing, signing, verification, and JWK envelopes live in the crypto layer that consumes the decoded bytes.

DTOs that carry byte fields as unpadded base64url strings can enable the serde feature and use reallyme_codec::base64url::serde_bytes or reallyme_codec::base64url::serde_option_bytes.

Features

  • base64
  • base64url
  • cbor
  • hex
  • jcs
  • multibase
  • multicodec
  • multikey
  • pem
  • serde

Contract

The supported public entry points are the umbrella exports from reallyme-codec; individual workspace crates are implementation details unless their documentation says otherwise.