目前我正在写一个小脚本,它将加密的密码存储在一个配置文件中,并在需要使用密码时解密它。我知道这不是最安全的方式,它只会让人“看不懂”。我已经用以下方式加密了我的密码:
echo PasswordToEncrypt | openssl enc -aes-256-cbc -a -salt -pass pass:PasswordForEncryptAndDecrypt
现在我得到了我的加密密码,并尝试解密它,它工作得很好。但在我尝试在另一台计算机上解密密码后,它再也无法解密了。另外,如果我再次加密密码,它看起来与第一台计算机上的加密密码不同。
我的问题是:有没有办法用openssl对密码进行加密和解密,在不同的计算机上也能得到相同的结果?这样我就可以在计算机A中加密密码,然后在计算机B中解密它?
发布于 2019-05-28 02:34:11
如果您在另一台计算机上对文件进行加密和解密,则解密的数据将是相同的。否则加密就变得无用了。我认为您看到不同的输出是因为您忘记了提供-md
选项。
要加密:
$ echo TEST | openssl enc -aes-256-cbc -md md5 -salt -pass pass:my_password > enc.bin
和解密:
$ cat enc.bin | openssl enc -d -aes-256-cbc -md md5 -pass pass:my_password
TEST
只是为了给你提供使用密钥的选项:
$ openssl genrsa -out key.priv 4096
$ openssl rsa -in key.priv -pubout -out key.pub
$ echo TEST | openssl enc -aes-256-cbc -md sha256 -salt -pass file:key.pub > tmp.bin
$ cat tmp.bin | openssl enc -d -aes-256-cbc -md sha256 -pass file:key.pub > tmp.txt
TEST
https://stackoverflow.com/questions/56329579
复制相似问题