【发布时间】:2016-06-26 04:33:56
【问题描述】:
我在下面有用于加密/解密的 perl 代码。加密接缝正在工作。解密不是恢复原件。原文:4111111111111111 加密:IW7K95q8p1Wa89CQ2DoIxQ== 解密:§À@ŽŒ¦õúbp 我需要解密以匹配原件。有任何想法吗?还有什么建议吗?
use strict;
use warnings;
use feature qw( say );
use Crypt::CBC qw( );
use MIME::Base64 qw( encode_base64 decode_base64 );
sub decrypt {
my $my_string=@_;
my $cipher = Crypt::CBC->new(
{
'key' => 'length16length16',
'cipher' => 'Rijndael',
'iv' => '1234567890abcdef',
'literal_key' => 1,
'padding' => 'null',
'header' => 'none',
keysize => 128 / 8
}
);
my $return = $cipher->decrypt($my_string);
return $return;
}
sub encrypt {
my $my_string=@_;
my $cipher = Crypt::CBC->new(
{
'key' => 'length16length16',
'cipher' => 'Rijndael',
'iv' => '1234567890abcdef',
'literal_key' => 1,
'padding' => 'null',
'header' => 'none',
keysize => 128 / 8
}
);
my $return = encode_base64($cipher->encrypt($my_string));
return $return;
}
my $cc = '4111111111111111';
my $coded = encrypt($cc);
say $coded;
my $decoded = decrypt($coded);
say $decoded;
【问题讨论】:
标签: perl encryption base64 rijndael