openssl加密在不同的机器上提供不同的输出

时间:2015-03-20 16:06:14

标签: encryption openssl

我在不同的机器上使用相同的密码和相同的密码加密相同的消息,但结果每次都完全不同。我怎样才能在另一台机器上解密这样的文件呢?

一个最小的例子:

echo "testmessage" > testfile
echo "mypwd" > pwdfile
openssl aes-256-cbc -a -A -salt -in testfile -out out -k pwdfile
cat out && echo

给出:

U2FsdGVkX1/vqur0facod4sMZs+ZT3i3yHe+DwAnV7o=

U2FsdGVkX18c6qnuSRrslmnneuDWAH1cp0UC4QyO5PI=

以及其他机器上的其他变体

修改

我也试过了其他的密码(bf,cast,des3,...),只有base64在其他机器上产生了相同的结果。然而,我需要解密在另一台机器上加密的aes-256-cbc消息。

1 个答案:

答案 0 :(得分:0)

这不是问题;每次加密时结果都不同。解密会很好;也在不同的机器上。

造成我问题的真正问题是密码文件的路径

openssl aes-256-cbc -a -A -d -salt -in out -out outd -k pwdfile && cat outd

很高兴能把我原来的文件还给我;但

openssl aes-256-cbc -a -A -d -salt -in out -out outd -k ./pwdfile && cat outd

Bad decrypt失败;实际上并没有使用pwdfile的内容,但是pwdfile是密码。