lunes, 24 de agosto de 2009

Recomendaciones para encriptar con Php

Php cuenta con varias funciones para encriptar cadenas de texto, estas funciones se usan para proteger datos, ya que la mayoría no tienen reversa, es decir, si encriptamos la cadena "Hola Mundo" obtenemos otra cadena; pero esta no se puede desencriptar.

La funcion md5 (abreviatura de Message-Digest Algorithm 5, Algoritmo de resumen del mensaje 5) era la más usada en php, devuelve un número de 128 bits de 32 dígitos hexadecimal. Luego se empezó a usar la familia de funciones SHA (abreviatura de Secure Hash Algorithm, Algoritmo de hash seguro). El primer miembro de esta función en Php es SHA-1, produce una salida resumen de 160 bits.

Más seguridad
Para aumentar la seguridad, podemos combinar varias de estas funciones; por ejemplo, podríamos poner:
<?php
$cadena
= 'hola mundo';
$codigo = sha1(md5($cadena));
?>

Aquí encriptamos "hola mundo" com md5 y a esa cadena la volvemos a encriptar con sha1.
Podemos también a la cadena original aumentarle una palabra clave que sólo nosotros la sabremos:
<?php
$cadena
= 'hola mundo';
$clave = 'mi clave';
$codigo = sha1(md5($cadena.$clave));
?>

Con esto, podemos hacer nuestra pequeña funcion de encriptamiento:

<?php
function encriptar($cadena){
$clave = '@!#$%';
$codigo = sha1(md5($cadena.$clave));
return
$codigo;
}
?>

Y hacemos uso de ella con un simple encriptar('hola mundo');

Espero sus comentarios y sugerencias.

1 comentario: