不同openssl版本的行为差异
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不同openssl版本的行为差异相关的知识,希望对你有一定的参考价值。
我不确定我在这里做错了什么,但是我将所有密码都保存在文件中作为加密字符串。我用来加密它们的命令是这样的:
echo "password" | openssl enc -aes-256-cbc -a -nosalt
然后我使用password
作为加密密钥。
最初(使用openssl版本1.0.2g),这导致了字符串
7Lz5dLLYCLCv9GjadL1LTQ==
已保存到密码文件中。但是,当我现在使用版本1.1.0g运行相同的命令时,我得到了字符串
qq26+CHHB6MuY33GAqeIVw==
这意味着当我现在解密我的密码时,它们无法正确解码。这里有什么我想念的吗?
注意:我知道
nosalt
选项是一个坏主意,我实际上并没有使用它。我刚刚把它包括在这里,以帮助澄清我的问题。
答案
用于从密码生成加密密钥的默认哈希在OpenSSL 1.0.2和OpenSSL 1.1.0之间更改。
请参阅此FAQ条目:
https://www.openssl.org/docs/faq.html#USER3
在1.0.2中,默认哈希是md5,1.1.0是sha256。使用“-md”选项指定要使用的哈希。
以上是关于不同openssl版本的行为差异的主要内容,如果未能解决你的问题,请参考以下文章