Bueno hace unos dias hice este cifrado, y e estado optimizandolo para mejorarlo y ahora que lo e optimizado del todo publico el source, asi que aqui esta el source
<?php
/*
Nombre: Funcion encrypt y decrypt Morse
Objetivo: cifrar una cadena a morse y descifrarla
Autor: strup
Fecha: 01/12/2013 03:55 (ultima optimizacion)
*/
function cifrar_texto($cadena)
{
	$texto=array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H','I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V','W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7','8', '9', '.', ',', '?', '-', '!', ':', ';', '(', ')', "'", '=', '$', '@', '_', '+', '~', '#', ' ');
	$morse=array('.- ', '-... ', '-.-. ', '-.. ', '. ','..-. ', '--. ', '.... ', '.. ', '.--- ', '-.- ', '.-.. ', '-- ', '-. ', '--- ', '.--. ', '--.- ', '.-. ', '... ', '- ', '..- ', '...- ','.-- ', '-..- ', '-.-- ', '--.. ', '----- ','.---- ', '..--- ', '...-- ', '....- ', '..... ', '-.... ', '--... ','---.. ', '----. ', '.-.-.- ', '--..-- ', '..--.. ', '-....- ', '-.-.-- ', '---... ', '-.-.-. ', '-.--. ', '-.--.- ','.----. ', '-...- ', '...-..- ', '.--.-. ','..--.- ', '.-.-. ', '.-... ', '...-.- ', '/ ');
	$str= strtoupper($cadena);
	for($i=0;$i <= strlen($str);$i++)
	{
		for($x=0;$x <= count($texto);$x++)
		{
			if($texto[$x] == $str[$i])
			{
				$cifrado.=$morse[$x];
			}
		}
	}
	return $cifrado;
}
function descifrar_texto($string)
{
	$texto=array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H','I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V','W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7','8', '9', '.', ',', '?', '-', '!', ':', ';', '(', ')', "'", '=', '$', '@', '_', '+', '~', '#', ' ');
	$morse=array('.- ', '-... ', '-.-. ', '-.. ', '. ','..-. ', '--. ', '.... ', '.. ', '.--- ', '-.- ', '.-.. ', '-- ', '-. ', '--- ', '.--. ', '--.- ', '.-. ', '... ', '- ', '..- ', '...- ','.-- ', '-..- ', '-.-- ', '--.. ', '----- ','.---- ', '..--- ', '...-- ', '....- ', '..... ', '-.... ', '--... ','---.. ', '----. ', '.-.-.- ', '--..-- ', '..--.. ', '-....- ', '-.-.-- ', '---... ', '-.-.-. ', '-.--. ', '-.--.- ','.----. ', '-...- ', '...-..- ', '.--.-. ','..--.- ', '.-.-. ', '.-... ', '...-.- ', '/ ');
	$vector=explode(' ', $string);
	for($y=0;$y<=count($vector);$y++)
	{
		for($w=0;$w<=count($morse);$w++)
		{
			if($vector[$y].' ' == $morse[$w])
			{
				$descifrado.=$texto[$w];
			}
		}
	}
	return $descifrado;
}
?>
y aqui la version anterior que hice
<?php
/*
Nombre: Funcion encrypt y decrypt Morse
Objetivo: cifrar una cadena a morse y descifrarla
Autor: strup
Fecha: 29/11/2013 02:06
*/
function cifrar_texto($cadena)
{
	$texto=array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H','I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V','W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7','8', '9', '.', ',', '?', '-', '!', ':', ';', '(', ')', "'", '=', '$', '@', '_', '+', '~', '#', ' ');
	$morse=array('.- ', '-... ', '-.-. ', '-.. ', '. ','..-. ', '--. ', '.... ', '.. ', '.--- ', '-.- ', '.-.. ', '-- ', '-. ', '--- ', '.--. ', '--.- ', '.-. ', '... ', '- ', '..- ', '...- ','.-- ', '-..- ', '-.-- ', '--.. ', '----- ','.---- ', '..--- ', '...-- ', '....- ', '..... ', '-.... ', '--... ','---.. ', '----. ', '.-.-.- ', '--..-- ', '..--.. ', '-....- ', '-.-.-- ', '---... ', '-.-.-. ', '-.--. ', '-.--.- ','.----. ', '-...- ', '...-..- ', '.--.-. ','..--.- ', '.-.-. ', '.-... ', '...-.- ', '/ ');
	$str= strtoupper($cadena);
	for($i=0;$i <= strlen($str);$i++)
	{
		for($x=0;$x <= count($texto);$x++)
		{
			if($texto[$x] == $str[$i])
			{
				$cifrado.=$morse[$x];
			}
		}
	}
	return $cifrado;
}
function descifrar_texto($string)
{
	$texto=array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H','I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V','W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7','8', '9', '.', ',', '?', '-', '!', ':', ';', '(', ')', "'", '=', '$', '@', '_', '+', '~', '#', ' ');
	$morse=array('.- ', '-... ', '-.-. ', '-.. ', '. ','..-. ', '--. ', '.... ', '.. ', '.--- ', '-.- ', '.-.. ', '-- ', '-. ', '--- ', '.--. ', '--.- ', '.-. ', '... ', '- ', '..- ', '...- ','.-- ', '-..- ', '-.-- ', '--.. ', '----- ','.---- ', '..--- ', '...-- ', '....- ', '..... ', '-.... ', '--... ','---.. ', '----. ', '.-.-.- ', '--..-- ', '..--.. ', '-....- ', '-.-.-- ', '---... ', '-.-.-. ', '-.--. ', '-.--.- ','.----. ', '-...- ', '...-..- ', '.--.-. ','..--.- ', '.-.-. ', '.-... ', '...-.- ', '/ ');
	for($z=0,$l=0;$z<=strlen($string);$z++)//despues de estar calentandome la cabeza un par de horas se me ocurrio esta funcion para desencryptar, Aqui iniciamos un bucle para extraer cada caracter del array y cuando llegue al espacio es asignado a un array se incrementa el iterado de subindice del array y vaciamos la variable $var con unset y asi asta hacer un array para hacer el mismo proceso de la encryptacion pero ala inversa y asi conseguimos desencryptar la clave
	{
		$var.=$string[$z];
		if($string[$z] == " ")
		{
			$vector[$l]=$var;
			$l++;
			unset($var);
		}
	}
	for($y=0;$y<=count($vector);$y++)
	{
		for($w=0;$w<=count($morse);$w++)
		{
			if($vector[$y] == $morse[$w])
			{
				$descifrado.=$texto[$w];
			}
		}
	}
	return $descifrado;
}
?>
una muestra:
Imagen

si quieren alguno de los codes con el form html es en:
[Enlace externo eliminado para invitados] y de [Enlace externo eliminado para invitados]

a mi personalmente me gustan los dos, uno por que me lo curre a mano y otro por que esta mas optimizado xD
espero que os guste, un saludo
Abolición para el torneo del toro de la vega. Death to the murderers of bulls.
Responder

Volver a “PHP”