首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在不同的计算机上加密和解密密码

在不同的计算机上加密和解密密码
EN

Stack Overflow用户
提问于 2019-05-28 00:26:15
回答 1查看 352关注 0票数 -1

目前我正在写一个小脚本,它将加密的密码存储在一个配置文件中,并在需要使用密码时解密它。我知道这不是最安全的方式,它只会让人“看不懂”。我已经用以下方式加密了我的密码:

代码语言:javascript
复制
echo PasswordToEncrypt | openssl enc -aes-256-cbc -a -salt -pass pass:PasswordForEncryptAndDecrypt

现在我得到了我的加密密码,并尝试解密它,它工作得很好。但在我尝试在另一台计算机上解密密码后,它再也无法解密了。另外,如果我再次加密密码,它看起来与第一台计算机上的加密密码不同。

我的问题是:有没有办法用openssl对密码进行加密和解密,在不同的计算机上也能得到相同的结果?这样我就可以在计算机A中加密密码,然后在计算机B中解密它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-28 02:34:11

如果您在另一台计算机上对文件进行加密和解密,则解密的数据将是相同的。否则加密就变得无用了。我认为您看到不同的输出是因为您忘记了提供-md选项。

要加密:

代码语言:javascript
复制
$ echo TEST | openssl enc -aes-256-cbc -md md5 -salt -pass pass:my_password > enc.bin

和解密:

代码语言:javascript
复制
$ cat enc.bin | openssl enc -d -aes-256-cbc  -md md5 -pass pass:my_password
TEST

只是为了给你提供使用密钥的选项:

代码语言:javascript
复制
$ 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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56329579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档