【问题标题】:OpenSSL command line decryption hiccupsOpenSSL命令行解密打嗝
【发布时间】:2018-04-19 19:48:21
【问题描述】:

我希望每个人都做得很好。我希望有人可以在这里给我一个正确方向的指针。

大约在 2013 年的某个时候,我使用 OpenSSL 在 Mac OS 机器上加密了一个文本文件。不太确定它是哪个版本的 OpenSSL 或 MacOS X。

我用它加密了它;

openssl des3 -in unencrypted.txt -out encrypted

它的输出看起来像是某种二进制格式,所以我使用 xxd 将其转换为十六进制,然后输出一个我保存在某处的文本文件。

xxd encrypted >> encryptedhex.txt

为了扭转我使用的过程

xxd -r encryptedhex.txt encrypted.bin
openssl des3 -d -in encrypted.bin -out decrypted.txt

我记得测试了几次,它似乎工作正常。现在快进到 2017 年。

我在 Debian 9 机器上,我正在尝试解密这个文件。

每当我提供我认为正确的密码时,我都不会出错,但输出文件似乎是垃圾。我不知道密码错误是否可能不会出错,但是每当我输入我知道错误的密码时,它就会吐出来

错误解密 140492140782848:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:../crypto/evp/evp_enc.c:535:

我意识到现在有更好的方法可以做到这一点,但我坚持我所拥有的,它似乎不想工作。

新版本的 openssl 是否向后兼容?加密文件是否有可能损坏? (如果我查看原始的二进制加密文件,我以“salted__”开头,所以看起来我记得当时回想起来......)

你们有什么建议吗?谢谢!

【问题讨论】:

标签: linux macos shell openssl


【解决方案1】:

尝试将-md md5 添加到您的解密命令行中。在 OpenSSL 1.1.0 中,用于从密码生成密钥的默认哈希从 md5 更改为 sha256:

https://www.openssl.org/docs/faq.html#USER3

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-25
    • 1970-01-01
    • 1970-01-01
    • 2015-11-27
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    相关资源
    最近更新 更多