【发布时间】:2015-11-15 11:00:56
【问题描述】:
一方面,我有一个用 Perl 的Crypt::CBC 加密/解密的文本
my $key = 'key to the gates';
my $cipher = Crypt::CBC->new(
-key => $key,
-cipher => 'Blowfish',
-salt => '12341234'
);
另一方面,我有 Python 的 PyCrypto,我需要从 Perl 解码数据,但还要发送 Perl 密码在加密后可以读取的文本。
我有来自 Perl 程序的密钥,以及来自 Perl 的 encrypt_hex:ed 密码短语发送到 Python 系统。
但 Python 似乎绝对想让 IV 完成它的工作
cipher = Blowfish.new( self.key, Blowfish.MODE_CBC, self.iv )
return hexlify(cipher.encrypt(raw))
但是,Crypt::CBC 文档似乎表明 IV 已经存在
"salt" -- 将密码短语与 8 字节随机值组合到 从 提供密码。盐将附加到 数据流的开始允许解密 给定正确的重新生成密钥和IV 密码。
有没有办法通过 PyCrypto 从密钥/密码中提取 IV?还是必须以某种方式单独发送 IV?
这可能是一个幼稚的问题,但我并不是每天都在处理这个问题。
我知道我可以从 Perl 端获取 IV,但如果可能的话,我真的想在 Python 端提取它。
【问题讨论】:
-
很抱歉您不喜欢我的编辑,但请记住,您提出问题的主要目的以及您可能提供的任何解决方案都是为了帮助遇到类似问题的其他人,这意味着主题行应该有助于引导这些人访问此页面。
-
糟糕!我是新来的,不知道其他人可以编辑你的帖子,所以我以为我做了一些事情并试图回滚。现在我知道了,如果您愿意,欢迎您重新编辑;)
标签: python perl encryption cryptography blowfish