我不确定我在这里做错了什么,但我将所有密码都保存在文件中作为加密字符串。我用来加密它们的命令是这样的:
echo "password" | openssl enc -aes-256-cbc -a -nosalt
然后我使用password
作为加密密钥。
最初(使用openssl版本1.0.2g),这导致了字符串
7Lz5dLLYCLCv9GjadL1LTQ==
已保存到密码文件中。但是,当我现在使用版本1.1.0g运行相同的命令时,我得到字符串
qq26+CHHB6MuY33GAqeIVw==
这意味着当我现在解密我的密码时,它们无法正确解码。我有什么东西在这里缺席吗?
注意:我知道
nosalt
选项是个坏主意,我实际上并没有使用它。我刚才把它包括在内以帮助澄清我的问题。
答案 0 :(得分:1)
用于从密码生成加密密钥的默认哈希值在OpenSSL 1.0.2和OpenSSL 1.1.0之间更改。
请参阅此常见问题条目:
https://www.openssl.org/docs/faq.html#USER3
在1.0.2中,默认哈希是md5,1.1.0是sha256。使用" -md"指定要使用的哈希值。选项。