File: mode.pl

package info (click to toggle)
libcrypt-rijndael-perl 1.08-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze, wheezy
  • size: 220 kB
  • ctags: 69
  • sloc: ansic: 625; perl: 139; makefile: 2
file content (35 lines) | stat: -rw-r--r-- 488 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
use Crypt::Rijndael;

sub crypt_decrypt
	{
	my( $mode ) = @_;
	
	my $key    = make_string( 32 );
	my $c      = Crypt::Rijndael->new( $key, $mode );

	my $data   = make_string( 32 * int( rand(16) + 1 ) );

	my $cipher = $c->encrypt( $data   );
	my $plain  = $c->decrypt( $cipher );

	return {
		data   => $data, 
		cipher => $cipher, 
		plain  => $plain,
		};
	}

sub make_string {
	my $size = shift;

	my $res;

	while( $size-- > 0 ) 
		{
		$res .= pack 'C', rand 256;
		}

	$res;
	}
	
1;