Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux perl加密脚本思想_Linux_Perl_Encryption_Encryption Symmetric - Fatal编程技术网

Linux perl加密脚本思想

Linux perl加密脚本思想,linux,perl,encryption,encryption-symmetric,Linux,Perl,Encryption,Encryption Symmetric,大家好,我正在制作一个perl脚本来加密和解密文本,我刚刚开始,我有: #!/usr/bin/perl use Crypt::IDEA; my $key = pack("H32", "0123456789ABCDEF0123456789ABCDEF"); my $cipher = new IDEA $key; my $palabra= "plaintex"; my $ciphertext = $cipher->encrypt($palabra); # NB - 8 bytes pr

大家好,我正在制作一个perl脚本来加密和解密文本,我刚刚开始,我有:

#!/usr/bin/perl

use Crypt::IDEA;

my $key = pack("H32", "0123456789ABCDEF0123456789ABCDEF");
my $cipher = new IDEA $key;
my $palabra= "plaintex";
my $ciphertext = $cipher->encrypt($palabra);  # NB - 8 bytes

print unpack("H16", $ciphertext), "\n";

my $plaintext = $cipher->decrypt($ciphertext);

print $plaintext , "\n";
问题是要加密的文本长度必须为8字节。为什么?如果我把“明文”改为“明文”,我就会出错

input must be 8 bytes long at /usr/lib/perl5/site_perl/Crypt/IDEA.pm line 62.

Crypt::CBC包装Crypt::IDEA——它将允许使用不对齐的数据长度。看


这是因为IDEA和许多其他加密算法都是块加密算法。这意味着它们使用指定大小的数据块进行操作,因此必须准备加密的数据(用零或其他填充)

Crypt::CBC包裹Crypt::IDEA-它将允许使用不对齐的数据长度。看

这是因为IDEA和许多其他加密算法都是块加密算法。这意味着它们使用指定大小的数据块进行操作,因此必须准备好加密的数据(用零或其他填充)

试试看

试一试


错误声明它必须是8字节,而不是8位,正如您在问题中所断言的那样。这两者之间有很大的区别。仅供参考。请以现代方式创建对象:Crypt::IDEA->new($key);错误声明它必须是8字节,而不是8位,正如您在问题中所断言的那样。这两者之间有很大的区别。仅供参考。请以现代方式创建对象:Crypt::IDEA->new($key);
#!/usr/bin/perl --
use strict; use warnings;
use Crypt::CBCeasy qw/ IDEA /;

my $key     = 'shabba';
my $text    = "plaintex"; ## not a file, not -f -r $text
my $crypted = IDEA::encipher( $key, $text );
my $detext  = IDEA::decipher( $key, $crypted );
print join "\n", $key, $text, unpack( 'H*', $crypted ), $detext, '';

__END__
shabba
plaintex
53616c7465645f5fb5ec01275eb466c4b9b69f3edb7568b42c1713416d33b7aa
plaintex