Compile-Time String Encryption for Rust
Turns string literals into encrypted blobs at compile time and injects minimal decrypt shims at runtime.
jesko: ChaCha20 + BLAKE3 MAC + obfuscationabsolut: ASCON128 + KMAC256 + obfuscationsadair: AES-256-GCM + BLAKE3 MAC + obfuscationgamera: deterministic XOR obfuscator (non-crypto)velar: lightweight BLAKE3-derived key + ChaCha20 keystream XOR (no MAC/integrity)
Enable only the engines you need so unused crypto crates are not linked.
[dependencies]
regera = { version = "0.1.0", default-features = false, features = ["std", "velar"] }
# example multi-engine:
# regera = { version = "0.1.0", default-features = false, features = ["std", "jesko", "velar"] }use regera::velar;
fn main() {
let secret = velar!("MySecretData");
secret.with_str(|s| println!("{}", s));
}Multi-string macros are available per engine (jeskoex!, absolutex!, sadairex!, gameraex!, velarex!).
regera: umbrella crate (re-exports macros + core types)regera_core: runtime engines and core typesregera_macros: proc-macros that encrypt at compile time
cargo test --workspaceAGPL-3.0. See LICENSE.
