Self Crypto Key
一个用于在二进制文件中存储和自修改加密密钥的 Rust 库。
安全声明
本库提供的是"提高破解难度"的方案,而非绝对安全。
在开源环境下,拥有完整二进制和源代码的攻击者理论上可以提取密钥。这是软件保护的根本性限制。
对于高安全需求场景,建议考虑:
- 硬件安全模块(TPM, Intel SGX, ARM TrustZone)
- 服务器端验证
- 用户密码派生
快速开始
安装
在 Cargo.toml 中添加依赖:
[dependencies]
self_crypto_key = "0.1"
基本使用
use self_crypto_key::{init_key_storage, KeyStore};
init_key_storage!(256);
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut store = KeyStore::new(256)?;
let random_key = KeyStore::generate_random_key(32);
store.update(&random_key)?;
println!("密钥已设置: {}", random_key);
let key = store.read()?;
println!("当前密钥: {}", key);
Ok(())
}
运行示例
cargo build --release --example basic_usage
./target/release/examples/basic_usage init
./target/release/examples/basic_usage show
./target/release/examples/basic_usage update "my-secret-key"
./target/release/examples/basic_usage random 64