我正在尝试解密存储在文件中的密码短语。加密是使用 Perl::CBC 模块完成的,但我需要为 Python 脚本解密它。坦率地说,我对加密算法知之甚少(或任何东西)。
密码短语被加密如下:
use Crypt::CBC;
my $key = '0123456789';
my $iv = '$KJh#(}q';
my $cipher = Crypt::CBC->new(
-key => $key,
-cipher => 'Blowfish',
-header => 'none',
-iv => $iv,
);
my $passphrase = 'You have decrypted the passphrase.';
my $hex_encrypted = $cipher->encrypt_hex($passphrase);
它给出了一个加密的密码:9033c838e4418fbdc50a9fc0813745296d195d59954008f94b2b36a8e65dca959686206960a7828a
现在,我需要在 Python 脚本中使用它(使用 Python 2.7)。天真地,我希望这会奏效:
from Crypto.Cipher import Blowfish
from binascii import hexlify, unhexlify
perl_pass = unhexlify('9033c838e4418fbdc50a9fc0813745296d195d59954008f94b2b36a8e65dca959686206960a7828a')
key = '0123456789'
iv = '$KJh#(}q'
print Blowfish.new(key, Blowfish.MODE_CBC, iv).decrypt(perl_pass)
但这似乎只会产生一堆无法打印的垃圾。我玩了一些没有成功。我不太确定我需要在这里做什么才能成功解密此密码。