为什么一个盒子可以用openssl解密文件,而另一个盒子不能?

Car*_*rot 6 encryption openssl kali-linux

我有一个简单的加密文件,里面有一些文本。它是用 des3 加密的,我知道密钥。但是,我终生无法在我的 kali VM 中解密它。然而,它在 Linux Mint VM 中运行良好。我在这里不知所措......我做错了什么?

这是工作解密:

user@user-virtual-machine ~/Desktop $ openssl des3 -d -in TheKeyIsInHere.des3 -pass pass:aramisthethird
GJC13 says the key is nuorjbwyldurrurykpym
user@user-virtual-machine ~/Desktop $
Run Code Online (Sandbox Code Playgroud)

这是破碎的:

root@chkali:~/Desktop/new# openssl des3 -d -in TheKeyIsInHere.des3 -pass pass:aramisthethird
bad decrypt
139786246681728:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:crypto/evp/evp_enc.c:529:
?c]z??6z??o???n&??Xqroot@chkali:~/Desktop/new# 
Run Code Online (Sandbox Code Playgroud)

两种情况下的文件都相同(由 md5sum 验证)。

dav*_*085 14

用于openssl enc基于密码的密钥派生的默认哈希在 1.1.0 中更改为 SHA256,而在较低版本中更改为 MD5。这会从相同的密码中产生不同的密钥(如果通常使用盐,则使用盐),并且尝试使用不同的密钥进行加密和解密会产生垃圾、错误或两者兼而有之。

要为现有数据修复此问题,请-md md5在 1.1.0 中指定从较低版本解密数据,并-md sha256在较低版本中指定从 1.1.0 解密数据。展望未来,请考虑-md明确指定。有关详细信息,请参阅https://crypto.stackexchange.com/questions/3298/is-there-a-standard-for-openssl-interoperable-aes-encryption/35614#35614(披露:我的)