1use Crypt::Rijndael; 2 3sub crypt_decrypt 4 { 5 my( $mode ) = @_; 6 7 my $key = make_string( 32 ); 8 my $c = Crypt::Rijndael->new( $key, $mode ); 9 10 my $data = make_string( 32 * int( rand(16) + 1 ) ); 11 12 my $cipher = $c->encrypt( $data ); 13 my $plain = $c->decrypt( $cipher ); 14 15 return { 16 data => $data, 17 cipher => $cipher, 18 plain => $plain, 19 }; 20 } 21 22sub make_string { 23 my $size = shift; 24 25 my $res; 26 27 while( $size-- > 0 ) 28 { 29 $res .= pack 'C', rand 256; 30 } 31 32 $res; 33 } 34 351;