Danke!!
Es funktioniert (base64 habe ich rausgenommen, da ich das Modul Mime::base64 derzeit nicht installiert habe).
#!/usr/bin/perl
###########################################################################
# 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($crypt);
}
###########################################################################
# Verschlüsselung aufheben
sub entkryptn{
my ($crypt, $key) = @_; # $key ist eine Referenz auf @key
my $len = scalar @$key;
my $i = 0;
my $orig = join "",
map { $i = ($i + 1) % $len;
chr((ord($_) - $$key[$i] + 256) % 256) }
split //, $crypt;
return($orig);
}
###########################################################################
@key = qw (7 a $ & a a ! P * " g);
my $text = "Was ein wunderschoener Tag\n";
print "TEXT: $text\n";
my $cryp_text=kryptn($text,\@key);
print "TEXT crypt: $crypt_text\n";
my $uncrypt_text=entkryptn($cryp_text,\@key);
print "TEXT uncrypt: $uncrypt_text\n";
Ich bin nicht so fit in Codierungsgeschichten, deshalb noch ne Frage hinterher...
Kann ich den Inhalt von $cryp_text problemlos in eine Mysql-DB als string abspeichern, wenn ich das base64 coding nicht mache? Bislang benutze ich für alle meine DB-Einträge UTF-8 bzw. würde das so $cryp_text = encode('UTF-8', $cryp_text);
funktionieren?
Ciao
H1N1