Skip navigation.

(The sound of a little key)

"Only a parameter can change the method of my life."

STICKY POST

COSAS QUE DEBO HACER ANTES DE APAGAR MI SERVIDOR (VIDA)

Bien, este es el listado de las cosas que debo a corto y largo plazo :D. Mas que un simple listado de cosas, es la estructura los retos de mi vida :D. (Algun día de desocupe, mejor lo diseño en XML, como para que quede mas entendible P:)

Read more...

Cifra de Vigenere (PHP)

Clase Vigenere

<?php
/******************************************************************************
 * Nombre : Vigenere.php
 * Clase para el cifrado de Vigenere para Project-RIC. Este es un cifrado de
 * sustitución polialfabetico, siendo una variación del cifrado de cesar. La diferencia
 * es que usa una palabra como semilla, la cual cada caracter representa el indice
 * del charset a ser sumado en las operaciones modulares. Esta semilla se repita cuantas
 * veces sea necesario hasta cifrar/descifrar toda la cadena.
 * @copyLeft  : Project-RIC
 * @package   : RiCrypt
 * @author      : D-m-K, d4rk.m0nk3y@gmail.com, my.opera.com/d-m-k
 ******************************************************************************/
class Vigenere {
    var $charset;
	var $txt;
	var $seed;
 
	/*****************************************************************************
	* Constructor
	* Cifra la cadena pasada como parametro realizando la sustitucion
	* de la cadena original la cantidad de veces definida en el parametro
	* @param  $s = Cadena original
	*                $seed = Cantidad de rotaciones a cada letra
	******************************************************************************/
    public function __construct($s, $seed) {
        $this->charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";	//Definicion del charset
		$this->txt    = strtoupper($s);
		$this->seed   = strtoupper($seed);
    }
 
	/************************************************************************************
	* Funcion :  encode
	* Cifra la cadena pasada como parametro realizando una sustitucion
	* polialfabetica a traves de sumas modulares dependiendo el indice de cada caracter de la semilla
	* @param  $seed = Semilla con la que sera cifrado el mensaje	
	* @return $result = Mensaje cifrado
	************************************************************************************/
    function encode(){
		$result = "";						//Cadena donde queda el resultado
		$x = 0;								//Indice de la semilla
		$p = 0;								//Posicion para relizar la operacion modular
		for($i=0; $i<strlen($this->txt); $i++){
			if(strstr($this->charset, $this->txt{$i})){//Evaluo si existe el caracter en el charset
				$x = strpos($this->charset, $this->seed{($p % strlen($this->seed))});
				$result .= $this->rotate($this->txt{$i}, $x);	//Invoco funcion que hace la rotacion
				$p++; //Aumento el indice para la operacion modular
			}else{//Si no existe dejo el caracter evaluado
				$result .= $this->txt{$i};
				continue;
			}	
		}			
        return $result;						//Devuelvo la cadena Cifrada =)
    }
 
 	/************************************************************************************
	* Funcion  :  decode
	* DesCifra la cadena pasada como parametro realizando una sustitucion
	* polialfabetica a traves de sumas modulares dependiendo el indice de cada caracter de la semilla
	* @param  $seed = Semilla con la que sera cifrado el mensaje	
	* @return $result = Mensaje cifrado
	************************************************************************************/
    function decode(){
		$result = "";						//Cadena donde queda el resultado
		$x = 0;								//Indice de la semilla
		$p = 0;								//Posicion para relizar la operacion modular
		for($i=0; $i<strlen($this->txt); $i++){
			if(strstr($this->charset, $this->txt{$i})){//Evaluo si existe el caracter en el charset
				$x = strpos($this->charset, $this->seed{($p % strlen($this->seed))});
				$result .= $this->rotate($this->txt{$i}, -$x);	//Invoco funcion que hace la rotacion
				$p++; //Aumento el indice para la operacion modular
			}else{//Si no existe dejo el caracter evaluado
				$result .= $this->txt{$i};
				continue;
			}	
		}			
        return $result;						//Devuelvo la cadena DesCifrada =)
    }
 
	/*****************************************************************************
	* Funcion : rotate
	* Realiza la rotacion de un caracter sobre el charset dependiendo el valor de la semilla
	* de la cadena original la cantidad de veces definida en el parametro
	* @param  $s = Cadena original
	*                 $n = Cantidad de rotaciones
	* @return  $result = Valor del nuevo caracter de acuerdo al indice
	*****************************************************************************/
	function rotate($c, $n){
        $result = "";			//Texto de salida
        $tamC = strlen($this->charset); //Longitud de la cadena del charset
		$k = 0; 				//Indice para sustitucion de la cadena con el charset
		$n %= $tamC;			//Semilla ó rotacion
		$c = strtoupper($c);	//Convierto a mayuscula el caracter		
		//Realizo la sustitución de cada caracter        
        //Evaluo si el caracter en la posicion $i existe, de lo contrario
        //Dejo el caracter que esta por defecto
		if(strstr($this->charset, $c)){
			$k = (strpos($this->charset, $c) + $n);
			if($k < 0){
				$k += $tamC;
			}else
				$k %= $tamC;
			$result .= $this->charset{$k};
		}else{
			$result .= $c;
		}
		return $result;
	}
}
?> 

Implementacion Cifra vigenere en PHP

<?php	
	include 'Vigenere.php';					//Incluyo la clase	
	$mensaje   = $_POST['mensaje'];			//Mensaje a cifrar
	$semilla   = $_POST['semilla'];			//Semilla o palabra con la que se cifrara/descifrara el mensaje
	$tarea     = $_POST['tarea'];			//Boton pulsado por el usuario
	$salida    = "";						//Variable que guarda el mensaje
	//Aqui esta la magia
	if($_POST && $mensaje != "" && $semilla != ""){
		//CIFRADO DEL MENSAJE
		if($_POST['tarea'] == "Cifrar"){
			$cipher    = new Vigenere($mensaje, $semilla);	
			$salida = $cipher->encode();
		}	
		//DESCIFRADO DEL MENSAJE
		if($_POST['tarea'] == "DesCifrar"){
			$cipher    = new Vigenere($mensaje, $semilla);	
			$salida = $cipher->decode();
		}	
	}
?>
<html>
	<head>
		 .:: Implementacion de la cifra de vigenere ::. 
	</head>
	<body>
		

Vigenere


<form method="post"> Mensaje a cifrar / descifrar :
<textarea name="mensaje" style="width:500px;border:1px solid #555"><?php echo $_POST['mensaje']; ?></textarea>
Semilla : <input type="text" name="semilla" style="width:150px;border:1px solid #555" value="<?php echo $_POST['semilla']; ?>"> | <input type="submit" name="tarea" value="Cifrar"> | <input type="submit" name="tarea" value="DesCifrar"> </form> <?php //Muestro el mensaje de salida if($salida != ""){ echo " Resultado del criptograma
\n"; echo "
" . $salida . "
"; } ?> </body> </html>
Greetings to all and happy Bandwith :smile:

Cifra de Cesar (PHP)

Quetal gente!, bueno esta es la clase en PHP que realiza el cifrado/Descifrado. Aclaro que esta Cifra tambien es muy conocida como ROT13, donde se traspone cada caracter con la semilla 13. Este código también está implementado como una funcion de PHP, aunque para este caso se muestra el algoritmo de como obternlo Guiñar.

Clase Caesar

<?php
/*****************************************************************************
 * Nombre : Caesar.php
 * Implementación del cifrado de cesar para Project-RIC. Este cifrado usa una clave de 
 * sustitución simple. En la actualidad existen muchos codes similares a este y el mas 
 * conocido se llama Rot13, el cual realiza una rotacion de 13 caracteres la cadena original. 
 * @copyLeft  : Project-RIC
 * @package   : RiCrypt
 * @author      : D-m-K, d4rk.m0nk3y@gmail.com, my.opera.com/d-m-k
/******************************************************************************/
class Caesar {
    var $charset;
	var $txt;
	var $rot;
 
	/*****************************************************************************
	* Constructor
	* Cifra la cadena pasada como parametro realizando la sustitucion
	* de la cadena original la cantidad de veces definida en el parametro
	* @param  $s = Cadena original
	*                $n = Cantidad de rotaciones a cada letra
	******************************************************************************/
    public function __construct($s, $n) {
        $this->charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";	//Definicion del charset
		$this->txt    = $s;
		$this->rot    = $n;
    }
 
	/*****************************************************************************
	* Funcion : encode
	* Cifra la cadena pasada como parametro realizando la sustitucion
	* de la cadena original la cantidad de veces definida en el parametro
	* @return $result = Mensaje cifrado
	*****************************************************************************/
    function encode(){
		$result = "";								//Variable donde queda el resultado
        for($i=0; $i<strlen($this->txt); $i++)  	//Realizo la sustitución de cada caracter
            $result .= $this->rotate($this->txt{$i}, $this->rot);	//Invoco funcion que hace la rotacion
        return $result;								//Devuelvo la cadena Cifrada =)
    }
 
 	/*****************************************************************************
	* Funcion : decode
	* Cifra la cadena pasada como parametro realizando la sustitucion
	* de la cadena original la cantidad de veces definida en el parametro
	* @return $result = Mensaje Descifrado
	*****************************************************************************/
    function decode(){
		$result = "";								//Variable donde queda el resultado
        for($i=0; $i<strlen($this->txt); $i++)  	//Realizo la sustitución de cada caracter
            $result .= $this->rotate($this->txt{$i}, -$this->rot);	//Invoco funcion que hace la rotacion
        return $result;								//Devuelvo la cadena DesCifrada =)
    }
 
	/*****************************************************************************
	* Funcion : rotate
	* Realiza la rotacion de un caracter sobre el charset dependiendo el valor de la semilla
	* de la cadena original la cantidad de veces definida en el parametro
	* @param  $s = Cadena original
	*                 $n = Cantidad de rotaciones
	* @return  $result = Valor del nuevo caracter de acuerdo al indice
	*****************************************************************************/
	function rotate($c, $n){
        $result = "";					//Texto de salida
        $tamC = strlen($this->charset); //Longitud de la cadena del charset
		$k = 0; 						//Indice para sustitucion de la cadena con el charset
		$n %= $tamC;					//Semilla ó rotacion
		$c = strtoupper($c);			//Convierto a mayuscula el caracter
        //Evaluo si el caracter en la posicion $i existe, de lo contrario dejo el caracter que esta por defecto
		if(strstr($this->charset, $c)){
			$k = (strpos($this->charset, $c) + $n);
			if($k < 0){					//Evaluo que el indice sea mayor a 0
				$k += $tamC;
			}else
				$k %= $tamC;
			$result .= $this->charset{$k};	//Obtengo del charset el indice de $k, que es el nuevo valor
		}else{
			$result .= $c;				//Dejo el caracter sin modificaciones
		}
		return $result;					//Devuelvo el caracter con el nuevo valor
	}
}
?> 

Implementacion de la Cifra de Caesar

<?php	
	include 'Caesar.php';					//Incluyo la clase	
	$mensaje   = $_POST['mensaje'];			//Mensaje a cifrar
	$semilla   = $_POST['semilla'];			//Semilla o cantidad de rotaciones al mensaje
	$tarea     = $_POST['tarea'];			//Boton pulsado por el usuario
	$salida    = "";						//Variable que guarda el mensaje
	//Aqui esta la magia
	if($_POST && $mensaje != "" && $semilla != ""){
		//CIFRADO DEL MENSAJE
		if($_POST['tarea'] == "Cifrar"){
			$cipher    = new Caesar($mensaje, $semilla);	
			$salida = $cipher->encode();
		}	
		//DESCIFRADO DEL MENSAJE
		if($_POST['tarea'] == "DesCifrar"){
			$cipher    = new Caesar($mensaje, $semilla);	
			$salida = $cipher->decode();
		}	
	}
?>
<html>
	<head>
		 .:: Implementacion de la cifra de Caesar ::. 
	</head>
	<body>
		

Caesar


<form method="post"> Mensaje a cifrar / descifrar :
<textarea name="mensaje" style="width:500px;border:1px solid #555"><?php echo $_POST['mensaje']; ?></textarea>
Semilla : <input type="text" name="semilla" style="width:30px;border:1px solid #555" value="<?php echo $_POST['semilla']; ?>"> | <input type="submit" name="tarea" value="Cifrar"> | <input type="submit" name="tarea" value="DesCifrar"> </form> <?php //Muestro el mensaje de salida if($salida != ""){ echo " Resultado del criptograma
\n"; echo "
" . $salida . "
"; } ?> </body> </html>
Greetings to all and happy Bandwidth

Darkness day

Hoy despierto pensando en el aburrido mundo real donde vivo,
cansado de las mismas noticias tragicas todos los dias,
cansado de las mismas estupideces que dice la gente sin remedio,
cansado de las vacuas formas de pensar de algunas personas,
simplemente estoy cansado y aburrido de pensar diferente al resto del mundo.

Intento saciar mi colera enciendiendo mi PC y conectandome a la red,
busco algun tipo de informacion interesante y encuentro demasiado,
quizas mucho mas de lo que pedia... me siento mal por eso, tantas
cosas por aprender y tan poco tiempo por dedicar... Quizas esta vida de
imperfecciones son el reto mas grande existe, buscar el equilibrio
casi perfecto y absorber en cualquier oportunidad esa infima parte
de conocimiento que se adquiere sin pensar... al parecer la ignorancia
ya nubla mi vista y aun no puedo ver claramente todo lo que sucede, la
verdadera mascara de cada cosa, o la razon de ser de cada objeto de
esta clase llamada vida...

Otro dia mas que pasa y otro dia mas que pierdo intentado comprender
el sentido de muchas cosas... detesto este circulo vicioso que baja
y sube mi ego.... Bien, solo me queda hacer un hecho mis palabras
y salir de la monotonia de este mundo real para inhalar la adrenalina
que me permite vivir una vida irreal muy gratificante, en otro mundo,
en otro espacio sin precedentes llamado Internet....


Why happened this...

I dont know if you understand that i tell you when i close my eyes and i let out my words from my mouth... only i want that you can to hear and to think that i said... Ok, the wors of all is you way that to trate me....Sorry is your one problem and is my unique solution.... sorry, but i can not make this... :frown:

Subiendo el sistema operativo...

Wow, estos dias han sido realmente increibles... es como si todo lo que siempre pediste se empezara a cumplir... jajjajaa no puedo borrar la sonrisa de mi rostro... :O y bueno esperar que siga asi por muchisimo tiempo :smile:

Restaurando el sistema de mi vida.....

Bien que puedo decir?.....

Este semestre me senti muy mediocre, no aprendi mucho que digamos, no perfomre el cubo de mi conocimiento y ni siquiera explote mis habilitades.... Sin embargo hice cosas muy extremas, algunas picardias y me defraudaron como nunca lo habian hecho... aunque alguna vez oi por ahi, echando a perder se aprende no?...

Bien, este POST es para reivindicarme y volver a tomar el control de mi vida.... hay muchas cosas que a veces digo y no las hago sencillamente por que otras priman en la linea de mandos, esta es la prioridad de mi vida.... Quiero pedir disculpas a todas esas personas a las que les he fallado, ya que soy conciente de lo que he hecho y la forma que esto repercute en otras personas... Ahora intentare dejar de hablar para mostrar mas.... =)

D-m-K, The art of conviction.

How i Go...

Luego de un largo eclipse oculto entre sombras veo otra vez la luz del sol, el otoño ha terminado y el frio invierno a empezado a ser seducido por el caliente verano.... Nuevas oportunidades se me ofrecen sin pensar, nuevas metas se fijan en la copa del arbol que alguna vez sembre, nuevos sueños dibujan con coloridas imagenes las paredes de mi habitacion... El contraste resalta sobre las cosas obtenidas y el reto de cada cosa por obtener =)... Ayer hice lo mas loco en mi vida y no se compara con nada... Hakuna Matata

Public Final Deception

Public class ForgetingAll{

//TODO : For you...

"No hay nada peor que ayudar a quien no se deja ayudar"... muchas veces intenté rescatarte del mundo oscuro en el que ahora vives, intente hacer algo por tu vida, algo por tu bien, algo sincero por tí, pero si eso es lo que quieres nadie puede obligarte a ser mejor... Que decepcion :frown:...

Espero que las borracheras de cada 8 dias más adelante no te causen problemas, o que tal vez los supuestos amigos que intentan emborracharte en cada salida no consigan su objetivo tan facil, y que siempre te den para el taxi cuando no tengas dinero, o que te indiquen donde queda tu casa cuando estes perdida, y que te llamen para recordarte que ya casi has llegado... Espero no verte despues llorando por todo lo que haces, creo que el significado de libertinaje para ni no significa nada mas que felicidad... una fantasiosa felicidad... pero bueno como un dia te dije, nada en exceso es bueno y todo lo que algún día inicia, algun otro día tiene que acabar... Esa es la ley de la vida que concluye en la muerte, y así debe ser...

Tenia muchas conversaciones para actualizar y que pudieras leer más adelante <<el día de tu cumpleaños>>, pero no creo que merezcas saber de este diario.... Hoy cierro el libro de un escalofriante episodio, la escabrosa historia de amor, donde sencillamente el noble caballero deja que los lobos se coman viva a la supuesta angelita que prefirió quedarse en el infierno de una supuesta diversion... Las alas que alguna vez construi para ti, ahora no son mas que cenizas en un recinto olvidado de un pueblo fantasma.... Quizas nuestros modelos no fueron compatibles jamas, quizas estoy en el tiempo equivocado con la persona equivocada... Sin embargo, aprendí mucho de esto, y de lo otro.... Fue un gusto conocerte y ahora es un placer para mi olvidarte :smile: Gracias....

Espero que esta sea mi ultima decepcion contigo, porque te JURO que de MI TU NO TE VUELVES A APROVECHAR.....

}

Miercoles 4 de Noviembre

Ultimamente no he podido colocar algunas publicaciones por falta de internet, sin embargo sigo escribiendo este diario que algun dia leeras...

Sabes?... aunque quizas no lo notaste, hoy cuando me dijiste eso de que ya habiamos hablando y que no podia pasar nada, senti que el mundo se me fue al piso... es frustrante saber algunas cosas, o bueno quizas a veces las sabes pero es frustrante cuando la persona que mas te importa te afirma la realidad de lo que sucede...

A veces pensaba que si uno era bueno, luchaba por el bien, hacia cosas a favor del mundo, creia en los sueños, en las personas y en cosas del amor, todo podia ser perfecto... quizas todas esas teorias con las que vivia, ahora se han ido para siempre... Puedo afirmar que no hay tal mundo lleno de perfección, ni felicidad absoluta, ni angeles en esta tierra, ni pollitos que vuelan para alcanzar la luna, ni verdaderas promesas de amarse para siempre, es mas ni siquiera el que mas se sacrifica en una relacion es el mas feliz sino que el mas sufre...

Quizas tantas cosas han sido dibujadas de esta manera para mostrar un ideal utopico de lo que podria ser el mundo que todos desean... la verdad es que esto me hace perder la esperanza que tenia y cortar las alas de mi imaginacion, secar los rios de mi inspiracion y detener el crecimiento del arbol de mi vida... ahora veo las cosas en blanco y negro, quizas el color tambien hacia parte de la fantasia que me hacias sentir, no se como explicarlo pero ya nada tiene sabor... ya no me excita programar, ni me divierto dibujando, ni anhelo escribir como antes.... quisiera encontrar una palabra para todo esto, pero la unica que se me ocurre es desilucion... la triste desilucion :frown:

...Pero bueno, quizas algun dia cuando leas esto "angelita" entiendas lo que pasa, porque estoy seguro que este momento no puedas entenderlo....