我在不同的机器上使用相同的密码和相同的密码加密相同的消息,但结果每次都完全不同。我怎样才能在另一台机器上解密这样的文件呢?
一个最小的例子:
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
消息。
答案 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是密码。