¿Para que
debemos
encriptar
las
contraseñas?
Debemos encriptar las contraseñas
de los usuarios para mantener o tratar por lo menos la seguridad de sus
datos.
La gente tiene el hábito o mal
hábito de usar la misma contraseña para todas sus cuentas, desde su cuenta en
facebook hasta la de paypal o peor, la de su cuenta bancaria. Nuestra
obligación es proteger ese dato fundamental por si desafortunadamente nuestra
base de datos cae en las manos equivocadas, cómo las de un empleado mal
intencionado o la de un hacker.
Cualquier programador Web ha podido
necesitar pasar datos por $_GET en la url , es una forma fácil y cómoda de pasar valores
de una página a otra, pero en algunos casos puede no ser recomendable y habría
que tener un mínimo de precaución, y para estos casos y otros muchos se puede utilizar esta clase.
Esto puede servirnos en algún que otro
caso para evitar inyecciones SQL, y así evitar que alguien nos mangonee lo que
no debe.
Primero:
Encriptar
function encrypt($string, $key) {
$result = '';
for($i=0;
$i<strlen($string); $i++) {
$char =
substr($string, $i, 1);
$keychar =
substr($key, ($i % strlen($key))-1, 1);
$char =
chr(ord($char)+ord($keychar));
$result.=$char;
}
return
base64_encode($result);
}
Se utiliza un código secreto, que es el
que se pone en $key y que cuando desencriptemos necesitaremos saberlo para que
lo haga correctamente.
Para encriptar una cadena escribimos
$cadena_encriptada
= encrypt("LA CADENA A ENCRIPTAR","LA CLAVE");
Segundo:
Desencriptar
function decrypt($string, $key) {
$result = '';
$string =
base64_decode($string);
for($i=0;
$i<strlen($string); $i++) {
$char =
substr($string, $i, 1);
$keychar =
substr($key, ($i % strlen($key))-1, 1);
$char =
chr(ord($char)-ord($keychar));
$result.=$char;
}
return $result;
}
Y para desencriptar la cadena escribimos
$cadena_desencriptada
= decrypt("la cadena encriptada","la clave que se usó para
encriptarla");
No hay comentarios:
Publicar un comentario
Ingresa tu comentario asertivo =)