我有一个字符串,实际上是密码。我想加密字符串,并希望将加密结果存储在参数文件中。接下来在执行脚本期间,将拾取加密字符串并在运行时解密。所以我想知道如何在linux环境中加密和解密字符串/文本?
答案 0 :(得分:0)
您可以使用“ base64”命令来加密和解密字符串 例如
$ echo "mypassword" |base64 > env.conf
对于提取,您可以执行以下操作
$ MyPass=`cat $PRG_HOME/env.conf | base64 --decode`
希望这会有所帮助
答案 1 :(得分:0)
openssl可以做得更好。
编码:
$ secret=$(echo "this is a secret." | openssl enc -e -des3 -base64 -pass pass:mypasswd -pbkdf2)
解码:
$ echo "${secret}" | openssl enc -d -des3 -base64 -pass pass:mypasswd -pbkdf2
提示:
答案 2 :(得分:0)
这不是这里所要求的,但是它显示了一种简单的方法,无需输入密码提示
#!/usr/bin/env bash
echo $1 | openssl aes-256-cbc -a -salt -pass pass:somepassword
#!/usr/bin/env bash
echo $1 | openssl aes-256-cbc -d -a -pass pass:somepassword
chmod +x encode.sh decode.sh
./encode.sh "this is my test string"
# => U2FsdGVkX18fjSHGEzTXU08q+GG2I4xrV+GGtfDLg+T3vxpllUc/IHnRWLgoUl9q
./decode.sh U2FsdGVkX18fjSHGEzTXU08q+GG2I4xrV+GGtfDLg+T3vxpllUc/IHnRWLgoUl9q
# => this is my test string