Blowfish.pm中的错误 - 输入必须是8个字节长

时间:2012-06-16 10:59:53

标签: perl blowfish

我正在尝试使用Perl的模块Crypt::Blowfish加密纯文本。

我的代码是

#!/usr/bin/perl
use Crypt::Blowfish;
my $key = pack("H16", "0123456789ABCDEF");
my $cipher = Crypt::Blowfish->new($key);
my $cipher_text = $cipher->encrypt($plain_text);

但它返回错误“”在Crypt / Blowfish.pm输入必须是8个字节长“

任何人都可以向我解释这个吗?

1 个答案:

答案 0 :(得分:2)

Blowfish与类似的加密算法一样,加密块而不是字节。您需要使用Crypt::CBC之类的内容来提供填充。

Crypt :: CBC还提供了另外两个非常重要的功能:salting和chaining。如果没有这些,加密会严重削弱。