Tengo entendido que hay una forma de encriptar contraseñas en php, creo que es m5, alguien podria dar un ejemplo claro de como encriptar, y des-encriptar esa informacion utilizando esta utilidad.
Gracias.
| |||
encriptacion Tengo entendido que hay una forma de encriptar contraseñas en php, creo que es m5, alguien podria dar un ejemplo claro de como encriptar, y des-encriptar esa informacion utilizando esta utilidad. Gracias. |
| |||
Re: encriptacion En el manual tienes ejemplos .. de como usar las funciones de encriptado/des.. que tiene PHP. <a href='ir.asp?http://www.php.net/manual/es/ref.mcrypt.php' target='_blank'>http://www.php.net/manual/es/ref.mcrypt....</a> Un saludo, |
| |||
Re: encriptacion Se me olvido... Para usar las funciones mencionadas necesitas tener instalado unas librerias en tu PHP .. Pero se puede hacer tambien sin usar esas librerias .. Un saludo, ya se que no pongo el codigo .. jeje :P |
| |||
Re: encriptacion entonces como hago por ejemplo si guardo encriptada una clave en la base de datos, como la comparo con la que introdusca el usuario que esta sin encriptar¿? Gracias Por Su Ayuda. |
| ||||
Re: encriptacion Sencillo. Encriptas tambien a que ingresó el usuario y comparas las dos encriptadas. El has resultante tiene que ser el mismo. Saludos. <hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio) <font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo |
| |||
Re: encriptacion Si estás usando MySQL para almacenar los datos podés usar la función PASSWORD() de MySQL para encriptarla. Tal como te dijo Webstudio es solo de ida pero la usás para encriptar lo que introdujo el usuario y lo comparás con la que tenés almacenada en la tabla. Saludos! Leonardo D'Angelo Buenos Aires Argentina |
| ||||
Re: encriptacion Sabés que pasa Idangelo? Si alguien llega a interceptar la comunicacion entre PHP y mySQL, y esta comunicacion no está segura (léase, con SSL), entonces el tipo puede ver mi Query : INSERT INTO tabla VALUES (PASSWORD('clave_insegura')); Entendes? En cambio, si insertas en la tabla directamente: INSERT INTO tabla VALUES ('harqyvhdu%nkyi=lamhot!jnlidpambi'); Ya no va a saber de que se trata el asunto. Saludos. <hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio) <font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo |
| |||
Re: encriptacion tanto si usas SSL como si no usas SSL no influye en la comunicación PHP-MySQL. si vos haces un query al MySQL con MD5(), la contraseña ya fue recibida por PHP desde el form anterior de manera insegura. ahi esta la inseguridad, y ahi es donde se aplica el SSL. el MD5 se usa despues... por ende, tanto si usas MD5() o PASSWORD() es lo mismo. la unica diferencia entre uno y otro es que un usuario con permisos de admin en el mysql puede ver los querys que suceden en ese momento y ver que el usuario X (webstudio, por ejemplo) hizo un INSERT into tabla (password) VALUES (PASSWORD('textodesencriptado')) . pero con SSL no te soluciona nada por ese lado. |
| ||||
Re: encriptacion MMOntes, yo me refiera a SSL entre PHP y MySQL, no entre Browser y Apache. SAludos. <hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio) <font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo |
| ||||
Re: encriptacion Bueno, según, porque si el PHP y el MySQL no están en la misma máquina ????? es posible que haya algún que otro intento de hack, habría que ver cómo van las peticiones, de todas formas tanto si ven el HASH como si ven el password en claro hay algo de inseguridad y posible suplantación. Salu2.Feliz Coding ![]() - Fernando Pereda ( Ferdy ) <center><a href="http://www.ferdyx.org/firmas.php"><img src="http://www.ferdyx.org/reg_tira.jpg" border="0"></a></center> |
| |||
Re: encriptacion OK. De todas maneras voy a tener en cuenta el consejo de Pablo y encriptar ANTES de insertar. ¡Todos los días se aprende algo nuevo! Saludos. Leonardo D'Angelo Buenos Aires Argentina |
| ||||
Re: encriptacion exacto, ademas no siempre tendremos el server web y el de sql en la misma maquina, o dentro de la misma red, pueden ser 2 servers que se comunican atraves de internet, mas vale asegurar antes el query. |
| |||
Re: encriptacion Te paso mi modulo de criptografía. lo uso para mi web (http://gunkan.org/cjapo2...). Lo más importante es la $KEY (la clave para encriptar y desencriptar). Puedes encriptar todo lo que quieras, aunque yo lo uso sólo para los usuarios. Las funciones que realmente "hacen algo" con; enc($tmp) dec($tmp) que encriptan o desencriptan los datos. Lo único raro es "hex2bin" que es una función que uso porque me gusta que la codificación tenga un formato "decente". Que lo disfrutes. Ya sé que pensarás que soy bueno por este código. Nada más lejos de la realidad, simplemente es una modificación de lo que encontré en www.php.net. //////////Módulo Criptográfico por JJFerres $key = "¿Cuando soporte Hash para PHP?" function keyED($txt,$encrypt_key) { $encrypt_key = md5($encrypt_key); $ctr=0; $tmp = ""; for ($i=0;$i<strlen($txt);$i++) { if ($ctr==strlen($encrypt_key)) $ctr=0; $tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1); $ctr++; } return $tmp; } function encriptar($txt,$key) { srand((double)microtime()*1000000); $encrypt_key = md5(rand(0,32000)); $ctr=0; $tmp = ""; for ($i=0;$i<strlen($txt);$i++) { if ($ctr==strlen($encrypt_key)) $ctr=0; $tmp.= substr($encrypt_key,$ctr,1) . (substr($txt,$i,1) ^ substr ($encrypt_key,$ctr,1)); $ctr++; } return keyED($tmp,$key); } function desencriptar($txt,$key) { $txt = keyED($txt,$key); $tmp = ""; for ($i=0;$i<strlen($txt);$i++) { $md5 = substr($txt,$i,1); $i++; $tmp.= (substr($txt,$i,1) ^ $md5); } return $tmp; } function hex2bin($data) { $len = strlen($data); for($i=0;$i<$len;$i+=2) { $newdata .= pack("C",hexdec(substr($data,$i,2))); } return $newdata; } function enc($tmp) { $tmp = encriptar($tmp,$key); return (bin2hex($tmp)); } function dec($tmp) { $tmp = hex2bin($tmp); return (desencriptar($tmp,$key)); } |