por Aceitunas » 2014-02-09 15:38 @693
Cifra mayúsculas, tal cual sale en la Wikipedia, rotando 3 posiciones:
Using perl Syntax Highlighting
# Cifrado cesar
# Aceitunas
# http://www.perlenespanol.com
use v5.16;
my $cadena = "ABCDZ";
say Cifrado_Cesar($cadena,1);
exit;
sub Cifrado_Cesar # Cifrado_Cesar(char * cadena, int CifrarDescifrar) -> Cifrar 1, descifrar 0.
{
my @c = split(//,$_[0]);
for my $i (0..$#c)
{
if ($_[1] == 1)
{
$c[$i] = ord($c[$i]) + 3;
}else{
$c[$i] = ord($c[$i]) - 3;
}
if ($c[$i] > 90 || $c[$i] < 65)
{
if ($_[1] == 1)
{
$c[$i] = chr($c[$i] - 26);
}else{
$c[$i] = chr($c[$i] + 26);
}
}else{
$c[$i] = chr $c[$i];
}
}
return join("",@c);
}
Coloreado en 0.006 segundos, usando
GeSHi 1.0.8.4
http://es.wikipedia.org/wiki/Cifrado_C%C3%A9sarCreo que se puede hacer con una expresión regular, voy a probar.
Última edición por
Aceitunas el 2014-02-09 17:59 @791, editado 2 veces en total
Voy a llegar hasta el final, voy a subir la velocidad - Migue Benítez.