byte-array-ops 0.2.0

A no_std-compatible library for ergonomic byte array operations with optional security hardening. Supports multiple input formats (hex, binary, UTF-8), bitwise operations, and comprehensive type conversions with minimal dependencies.
Documentation
[package]
name = "byte-array-ops"
version = "0.2.0"
edition = "2024"
authors = ["Salem B. <jurassic.lizard@protonmail.com>"]
description = "A no_std-compatible library for ergonomic byte array operations with optional security hardening. Supports multiple input formats (hex, binary, UTF-8), bitwise operations, and comprehensive type conversions with minimal dependencies."
license = "Apache-2.0"
repository = "https://gitlab.com/jurassicLizard/byte-array-ops"
homepage = "https://gitlab.com/jurassicLizard/byte-array-ops"
documentation = "https://docs.rs/byte-array-ops"
readme = "README.md"
keywords = ["byte-array", "no-std", "cryptography", "bitwise", "security"]
categories = ["no-std", "cryptography", "encoding", "data-structures"]
rust-version = "1.85.1"

[dependencies]
subtle = { version = "2.6.1", default-features = false, features = ["core_hint_black_box"], optional = true }
zeroize = { version = "1.8.2", default-features = false, features = ["alloc"],optional = true}


[features]
default = ["ops_algebra"]
sec_basic_hardening = ["sec_harden_zeroize"]
sec_enhanced_hardening = ["sec_basic_hardening", "sec_harden_const_time_ops", "sec_harden_memlock"]
sec_maximum_hardening = ["sec_enhanced_hardening", "sec_harden_memencrypt"]
sec_harden_memencrypt = ["sec_harden_zeroize", "sec_harden_memlock"]
sec_harden_zeroize = ["dep:zeroize"]
sec_harden_const_time_ops = ["dep:subtle"]
sec_harden_memlock = []
ops_algebra = []
ops_simd = ["zeroize/simd"]
experimental = [] # for all features that are untested and should not be activated


[profile.release]
strip=true

[profile.release-optimized]
inherits="release"
opt-level = 3
lto = "fat"
codegen-units = 1