#env-var #secret #gpg #env #dev #development

构建 read-secret

一个 Rust 库,它提供了一个简单的方法来从您的环境变量和文件中读取和解密秘密。

3 个版本

0.1.2 2023 年 6 月 27 日
0.1.1 2023 年 6 月 27 日
0.1.0 2023 年 6 月 26 日

#673 in 构建工具

Download history 1/week @ 2024-03-17 22/week @ 2024-03-31 1/week @ 2024-04-07 24/week @ 2024-04-28 46/week @ 2024-05-05 20/week @ 2024-05-12 62/week @ 2024-05-19 36/week @ 2024-05-26 10/week @ 2024-06-02 31/week @ 2024-06-09 33/week @ 2024-06-16 25/week @ 2024-06-23 5/week @ 2024-06-30

每月 95 次下载

MIT/Apache

9KB
129

Read Secret

文档

一个 Rust 库,它提供了一个简单的方法来从您的环境变量和文件中读取和解密秘密。

代码托管在 sourcehut 上,并建议在此平台上提交问题/发送补丁。然而,GitHub 也是可接受的。

用法

运行命令 cargo add read-secret 或将以下代码放入您的 cargo.toml

[dependencies]
read-secret = <version>

示例

此示例代码位于文件 examples/e1.es 中,您可以通过执行 cargo run --example e1 来运行它。

use read_secret::{DecryptMethod, SecretType};
use std::process::Command;

fn main() {
    // read secret from environment variable.
    let mut dm = DecryptMethod::None;
    let st = SecretType::Env("XDG_SESSION_TYPE".to_string());
    let sr = read_secret::read_secret(st, &mut dm).unwrap();
    assert_eq!("wayland", sr);

    // read secret from file and decrypt it using gnupg.
    let mut dm = DecryptMethod::GPG;
    let st = SecretType::File("examples/pass_gpg.asc".to_string());
    let sr = read_secret::read_secret(st, &mut dm).unwrap();
    assert_eq!("El Psy Kongaroo", sr);

    // store encrypted secret inside string and decrypt it using custom command.
    let mut temp = Command::new("wc"); // avoid E0716 -- temporary value is being dropped
    let custom_command = temp.args(["-c"]);
    let mut dm = DecryptMethod::Custom(custom_command);
    let st = SecretType::String("El Psy Kongaroo".to_string());
    let sr = read_secret::read_secret(st, &mut dm).unwrap();
    assert_eq!("15\n", sr);
}

无运行时依赖