4 个版本
0.1.3 | 2023 年 11 月 3 日 |
---|---|
0.1.2 | 2022 年 11 月 16 日 |
0.1.1 | 2022 年 11 月 15 日 |
0.1.0 | 2022 年 11 月 13 日 |
#1176 in 密码学
29 个月下载量
38KB
676 代码行
Street Cred
管理应用程序的加密秘密。
安装
作为命令行工具
cargo install street-cred
作为 Rust 项目的依赖项
cargo add street-cred
CLI 使用方法
Street Cred 期望您的加密密钥存储在名为 MASTER_KEY
的环境变量中,或存储在当前目录中名为 master.key
的文件中。
# Initialize a new project with an encrypted secrets file and encryption key
street-cred init
# Edit existing file
street-cred edit secrets.txt.enc
库使用
您还可以将 Street Cred 作为库用于您自己的代码中的简单加密/解密。
use street_cred::FileEncryption;
let file_path = String::from("secrets.txt.enc");
let encryption_key = String::from("425D76994EE6101105DDDA2EE2604AA0");
let file_encryption = FileEncryption::new(file_path, encryption_key);
if let Some(decrypted_contents) = file_encryption.decrypt() {
// do something with decrypted_contents
};
灵感
看到 Ruby on Rails 允许存储与现有应用程序代码一起的加密秘密,我希望在没有 Ruby/Rails 要求的情况下实现同样的功能。这个 CLI 应用和库允许开发者使用在存储库中存储加密秘密的相同模式。
安全注意事项
如果您选择使用此代码在代码库中存储加密秘密,请确保您永远不要在您的存储库中提交或跟踪加密密钥。您可以将 git 配置为忽略加密密钥和未加密文件,以确保它们永远不会被提交。
以下是一个示例 gitignore 设置,假设密钥存储在 master.key
中,加密秘密在 secrets.txt.enc
中。
# .gitignore
master.key
secrets.txt
依赖关系
~5.5MB
~104K SLoC