ファイルに保存されているパス フレーズを解読しようとしています。暗号化は 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)
しかし、それは印刷できないがらくたの束を作成するだけのようです. 私は成功せずに少し遊んだ。このパスワードを正常に復号化するためにここで何をする必要があるのか よくわかりません。