Un simple ejemplo de como hacer en cifrado cesar en Perl.
El codigo :
El codigo :
Código (perl) [Seleccionar]
# !usr/bin/perl
# Caesar Cipher
# Coded By Doddy Hackman in the year 2014
head();
menu();
copyright();
# Functions
sub head {
print "\n-- == Caesar Cipher == --\n";
}
sub copyright {
print "\n\n-- == (C) Doddy Hackman 2014 == --\n";
}
sub menu {
print qq(
==============
= Menu =
==============
1 - Encode =
2 - Decode =
3 - Exit =
==============
);
print "\n[+] Option : ";
chomp( my $op = <stdin> );
if ( $op eq "3" ) {
copyright();
<stdin>;
exit(1);
}
print "\n[+] Enter text : ";
chomp( my $text = <stdin> );
print "\n[+] Result ...\n\n";
if ( $op eq "1" ) {
print cifrado_cesar($text);
<stdin>;
menu();
}
elsif ( $op eq "2" ) {
print descifrado_cesar($text);
<stdin>;
menu();
}
else {
menu();
}
}
sub cifrado_cesar {
my @re;
@letras = split( //, $_[0] );
for my $letra (@letras) {
if ( $letra ne " " ) {
$letrafinal = chr( ord($letra) + 3 );
$letrafinal =~ s/{/a/;
$letrafinal =~ s/\|/b/;
$letrafinal =~ s/}/c/;
push( @re, $letrafinal );
}
else {
push( @re, " " );
}
}
return @re;
}
sub descifrado_cesar($texto) {
my @re;
@letras = split( //, $_[0] );
for my $letra (@letras) {
if ( $letra ne " " ) {
$letrafinal = chr( ord($letra) - 3 );
$letrafinal =~ s/\^/x/;
$letrafinal =~ s/_/y/;
$letrafinal =~ s/`/z/;
push( @re, $letrafinal );
}
else {
push( @re, " " );
}
}
return @re;
}
# The End ?