| 
	
		|  Autor | Tema: Otra perspectiva para correr el algoritmo de Julio Cesar  (Leído 6,273 veces) |  
	| 
			| 
					
						| Sadam.sh 
								Wiki  Desconectado 
								Mensajes: 15
								
								 
								#!/bin/bash
								
								
								
								
								
								     | 
 
Julio Cesar enviaba mensajes a sus legiones cifrando los mensajes mediante el siguiente algoritmo: Se escogía un número n como clave y se sumaba a cada letra en el alfabeto n posiciones. Así, si la clave escogida fuese 5, la ‘a’ pasaría a ser la ‘f’, mientras que la ‘f’ pasaría a ser la ‘k’. Para las últimas letras del abecedario se seguiría desde el principio. Así, con la clave de 5 la ‘y’ pasaría a ser la ‘d’ Otra perspectiva para el algoritmo de Julio Cesar para PHP [code]<?php//Recuerda que aquí no dejo el formulario HTML $mensaje=$_POST['mensaje'];$n=$_POST['n'];        a=>"0",         b=>"1",         c=>"2",		d=>"3",         e=>"4",         f=>"5",	    g=>"6",         h=>"7",         i=>"8",		j=>"9",         k=>"10",         l=>"11",		m=>"12",         n=>"13",         ñ=>"14",	    o=>"15",         p=>"16",         q=>"17",	    r=>"18",	    s=>"19",         t=>"20",         u=>"21",		v=>"22",		w=>"23",		x=>"25",	    y=>"25",		z=>"26");        0=>"a",         1=>"b",         2=>"c",		3=>"d",         4=>"e",         5=>"f",	    6=>"g",         6=>"h",         7=>"i",		9=>"j",         10=>"k",         11=>"l",		12=>"m",         13=>"n",         14=>"ñ",	    15=>"o",         16=>"p",         17=>"q",	    18=>"r",	    19=>"s",         20=>"t",         21=>"u",		22=>"v",		23=>"w",		24=>"x",	    25=>"y",		26=>"z");	echo "Mensaje original: ".$mensaje."<br>";echo "Mensaje codificado: <br>";			for($i=0;$i<strlen($mensaje);$i++){  $cifrado=(($julio[$mensaje[$i]] + $n))%27;  echo $cesar[$cifrado];  }  ?>
 [/code]
 
 |  
						| 
								|  |  
								| « Última modificación: 31 Octubre 2010, 05:53 am por Sadam.sh » |  En línea | 
 
 Last resort. |  |  |  | 
			| 
					
						| [u]nsigned 
								       
								
								 Desconectado 
								Mensajes: 2.397
								 
								JS/Node developer
								
								
								
								
								
								     | 
 
Podes reemplazar:         0=>"a",         1=>"b",         2=>"c",      3=>"d",         4=>"e",         5=>"f",       6=>"g",         6=>"h",         7=>"i",      9=>"j",         10=>"k",         11=>"l",      12=>"m",         13=>"n",         14=>"ñ",       15=>"o",         16=>"p",         17=>"q",       18=>"r",       19=>"s",         20=>"t",         21=>"u",      22=>"v",      23=>"w",      24=>"x",       25=>"y",      26=>"z");
 por 
 Esta buena la implementacion Saludos
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 No hay atajo ante la duda, el misterio se hace aquí... Se hace carne en cada uno, el misterio es existir !  |  |  |  | 
			| 
					
						| Sadam.sh 
								Wiki  Desconectado 
								Mensajes: 15
								
								 
								#!/bin/bash
								
								
								
								
								
								     | 
 
Gracias, no me di cuenta. Así queda mucho mejor. Saludos |  
						| 
								|  |  
								|  |  En línea | 
 
 Last resort. |  |  |  | 
			| 
					
						| .:WindHack:. 
								
								 Desconectado 
								Mensajes: 167
								 
								Prisionero de mi propia mente...
								
								
								
								
								
								     | 
 
Por favor, usa las etiquetas BBCode para resaltado de sintaxis. [code=php][/code] |  
						| 
								|  |  
								|  |  En línea | 
 
 Follow me on Twitter: @windhack  | Visit my website: www.daw-labs.com  "The only thing they can't take from us are our minds." |  |  |  | 
			| 
					
						| Shell Root | 
 
Pwned, cuando se ingresa una mayúscula. XD Mensaje original: ShellMensaje codificado: PHP Notice:  Undefined index: S in /home/alex/Escritorio/PoC.php on line 65
 elPHP Notice:  Undefined offset: 8 in /home/alex/Escritorio/PoC.php on line 66
Otra opción podría ser, 	# @Algoritmo Julio Cesar	# @Shell Root 	$sMsg = 'Shell Root';	$sNumber = 28;	$sEncryption = 'abcdefghijklmnñopqrstuvwxyz'; 	echo "Cadena Original: ".$sMsg."\n";	echo "Cadena Cifrada: ";	for($i=0;$i<strlen($sMsg);$i++){		if($sMsg[$i] == ' '){ echo " "; }		for($j=0;$j<strlen($sEncryption);$j++){			if($sMsg[$i] == $sEncryption[$j]){				echo $sEncryption[$j + $sNumber % 27];			}		}	} 	echo "\n";
 Resultado, alex@shellroot:~/Escritorio$ php PoC.phpCadena Original: shell rootCadena Cifrada: tifmm sppu
 |  
						| 
								|  |  
								| « Última modificación: 31 Octubre 2010, 16:41 pm por Shell Root » |  En línea | 
 
 Te vendería mi talento por poder dormir tranquilo. |  |  |  | 
			| 
					
						| Sadam.sh 
								Wiki  Desconectado 
								Mensajes: 15
								
								 
								#!/bin/bash
								
								
								
								
								
								     | 
 
Si, tampoco cifra caracteres especiales. Esa sería la opción para agregarle más funcionalidades al código. Lo de las mayúsculas y minúsculas, es relativo. Podes darle un valor de asignación diferentes a las mayúsculas o simplemente usar la función  
 y convertir todo tu mensaje a minúscula. En la consigna original, el problema trata solo caracteres del alfabeto, pero estaría bueno agregar lo de los caracteres especiales. Saludos. |  
						| 
								|  |  
								|  |  En línea | 
 
 Last resort. |  |  |  | 
			| 
					
						| KrossPock 
								
								 Desconectado 
								Mensajes: 208
								
								   | 
 
otra forma mas facil.... <?php$x= "a";$x++;echo $x;?>
 boludeando descubri eso e hice esta funcion... <?phpfunction cesar($cadena,$desplazamiento){   return FALSE; }$cifrado='';$i=0; $x=0; while($desplazamiento>$x){  $a++;  $x++; }$cifrado.=$a;$i++;}return $cifrado;}?> 
 el unico problema es que haciendo $x++ funciona, pero $x-- no, asi que cifra, pero no decifra xD. De esta forma cifra mayusculas, minuscula, numeros y a los caracteres especiales me parece los deja como esta |  
						| 
								|  |  
								| « Última modificación: 31 Octubre 2010, 18:14 pm por KrossPock » |  En línea | 
 
 |  |  |  | 
			| 
					
						| [u]nsigned 
								       
								
								 Desconectado 
								Mensajes: 2.397
								 
								JS/Node developer
								
								
								
								
								
								     | 
 
Otro problema sería la ñ, que al ser PHP americano no etá en el mismo rango ASCII que las demas letras.
 Saludos
 |  
						| 
								|  |  
								|  |  En línea | 
 
 No hay atajo ante la duda, el misterio se hace aquí... Se hace carne en cada uno, el misterio es existir !  |  |  |  |  |  | 
			| 
					
						| Sadam.sh 
								Wiki  Desconectado 
								Mensajes: 15
								
								 
								#!/bin/bash
								
								
								
								
								
								     | 
 
si... la ñ seria otro problema... solo les mostre que hay otra forma de hacerlo, sin el array, que queda poco dinamico (?  Hay cosas que requieren cierta dinamicidad y hay cosas que no, como por ejemplo un alfabeto. En 500 o 1000 años es muy poco probable que agregue o quite 1 carácter. Tambien podes hacer uso de las correspondencias ASCII, si no te parece conveniente usar un arreglo. |  
						| 
								|  |  
								|  |  En línea | 
 
 Last resort. |  |  |  |  |  
 
	
 
   |