4 个版本

使用旧的 Rust 2015

0.0.4 2021年10月10日
0.0.3 2021年10月10日
0.0.2 2021年10月10日
0.0.1 2021年10月10日

#31#transparent

MIT 许可证

9KB
140 代码行

cryptenv

Rust

一个透明的环境变量解密器。

  • 使用 AES-256-CBC 加密

安装

cargo install cryptenv

用法

准备加密的环境变量

cryptenv --data <(echo -n "THIS IS TOP SECRET")

# password? # input password
# cryptenv://ndDGOi3AUgcB4XOiiimRmfY8lEvoBtYZF8mrappszvuhyjAqtqt2IxIf2iFXx+If

使用此 URI 字符串作为环境变量的值。

# ~/.bashrc
TOP_SECRET=cryptenv://ndDGOi3AUgcB4XOiiimRmfY8lEvoBtYZF8mrappszvuhyjAqtqt2IxIf2iFXx+If

运行带有加密密钥的命令

cryptenv -- env | grep TOP_SECRET

# password? # input password
# TOP_SECRET=THIS IS TOP SECRET

每次都输入密码很麻烦吗?

  1. 在您的 ~/.bashrc 上创建此函数

    function cryptenv-save() {
        local varname=CRYPTENV_PASSWORD
        if [ ! -v $varname ];then
            read -s -p 'password? ' $varname
            echo
            export $varname
        fi
        cryptenv --password-from $varname $@
    }
    
  2. 然后使用 cryptenv-save 而不是 cryptenv

    cryptenv-save -- env | grep TOP_SECRET
    
    • 第一次需要密码
    • 之后,密码将存储在 Shell 的环境变量中

依赖项

~3.5–5MB
~90K SLoC