25/01/2007, 05:27
|
| | Fecha de Ingreso: abril-2005
Mensajes: 323
Antigüedad: 19 años Puntos: 0 | |
Re: md5 Pues creo q hay otra solución, en la red hay algoritimos de encriptación en la cual tu le puedes mandar 2 parametros el $password y $clave_privada(la clave q tu elijas) es decir para poder encriptar o desencriptar necesitas esta clave privada. Esta clave_privada la puedes poner dentro de tu mismo script. Código PHP: include("5CR.php"); $clave_privada = "5498798798()723569++32423++"; $password= "HolaMundo!"; $encriptacion = new E5CR($clave_privada ); echo "Mensaje Original: <b>$password</b><br>"; $encriptacion->encriptar($password,0); echo "Mensaje Encriptado: <b>$password<b>"; class 5CR.php Código PHP: // +----------------------------------------------------------------------+ // | PHP Version 5 | // +----------------------------------------------------------------------+ // | Copyright (c) 2005 Julian Andrés Lasso Figueroa | // +----------------------------------------------------------------------+ // | Este codigo está sujeto a la licencia GPL, cualquier bug encontrado | // | por favor avisarme con un correo a [email protected] | // | Este codigo está basado en RC4 v 1.6 | // +----------------------------------------------------------------------+ // | Autor: Julian Andrés Lasso Figueroa <[email protected]> | // +----------------------------------------------------------------------+ // 5CR.php, v 2.0 09/05/2005 10:50:00 p.m. class E5CR{ var $s = array(); var $i = 0; var $j = 0; var $_key; var $bytes = 256; function E5CR($key = null) { if ($key != null) { $this->juego_de_llaves($key); } } function juego_de_llaves($key) { if (strlen($key) > 0) $this->_key = $key; } function llave(&$key) { $len = strlen($key); for ($this->i = 0; $this->i < $this->bytes; $this->i++) { $this->s[$this->i] = $this->i; } $this->j = 0; for ($this->i = 0; $this->i < $this->bytes; $this->i++) { $this->j = ((($this->j + $this->s[$this->i] + ord($key[$this->i % $len])) % $this->bytes) / 3); $this->j += ((($this->j + $this->s[$this->i] + ord($key[$this->i % $len])) % $this->bytes) % 12); $t = $this->s[$this->i]; $this->s[$this->i] = $this->s[$this->j]; $this->s[$this->j] = $t; } $this->i = $this->j = 0; } function hex2bin(&$RawInput) { $BinStr = ''; for ($i = 0; $i < strlen ($RawInput); $i += 2) $BinStr .= '%'.substr ($RawInput, $i, 2); $RawInput = rawurldecode($BinStr); } function encriptar(&$encript, $tipo) { $this->llave($this->_key); $len = strlen($encript); for ($c = 0; $c < $len; $c++) { $this->i = ((($this->i + 1) % $this->bytes) / 3) + ((($this->j + $this->s[$this->i] + ord($key[$this->i % $len])) % $this->bytes) % 12); $this->j = ((($this->j + $this->s[$this->i]) % $this->bytes) / 3) + ((($this->j + $this->s[$this->i] + ord($key[$this->i % $len])) % $this->bytes) % 12); $t = $this->s[$this->i]; $this->s[$this->i] = $this->s[$this->j]; $this->s[$this->j] = $t; $t = ((($this->s[$this->i] + $this->s[$this->j]) % $this->bytes) / 3) + ((($this->j + $this->s[$this->i] + ord($key[$this->i % $len])) % $this->bytes) % 12); $encript[$c] = chr(ord($encript[$c]) ^ $this->s[$t]); } // 0 = claves y 1 = url switch($tipo){ case 0: $encript = crc32(sha1(md5(bin2hex($encript)))); break; case 1: $encript = bin2hex($encript); case 2: $encript; } } function destrozar(&$cadena, $num){ for($i=0;$i<$num;$i++){ $pos = strpos($cadena,"="); // posición del primer = $campo = substr($cadena,0,$pos); // sustración del nombre del campo $cadena = substr($cadena,$pos+1,strlen($cadena)); // actualización de la cadena $pos = strpos($cadena,"&"); // posición del primer & if($pos == null) $pos = strlen($cadena); $contenido = substr($cadena,0,$pos); $cadena = substr($cadena,$pos+1,strlen($cadena)); // actualización de la cadena $datos[$campo] = $contenido; } return $datos; } function desencriptar(&$desencript, $num) { $this->hex2bin($desencript); $this->encriptar($desencript,2); $desencript = $this->destrozar($desencript, $num); } } |