Weil Du's bist und heute Freitag ist ;-)
Schlüssel frei wählbar: z.B. qw(1 3 4 5 6 3 2 1 9)
Das Base64-Geraffel hab ich nur eingebaut, damit am Ende ASCII rauskommt, kannste auch weglassen.
Hotte
###########################################################################
# Text synchron verschlüsseln
sub kryptn{
my ($txt, $key) = @_; # $key ist eine Referenz auf @key
my $len = scalar @$key;
my $i = 0;
my $crypt = join "",
map { $i = ($i + 1) % $len;
chr((ord($_) + $$key[$i]) % 256) } split //, $txt;
return(encode_base64($crypt, ""));
}
###########################################################################
# Verschlüsselung aufheben
sub entkryptn{
my ($crypt, $key) = @_; # $key ist eine Referenz auf @key
my $len = scalar @$key;
my $i = 0;
$crypt = decode_base64($crypt);
my $orig = join "",
map { $i = ($i + 1) % $len;
chr((ord($_) - $$key[$i] + 256) % 256) }
split //, $crypt;
return($orig);
}
###########################################################################