martes, 5 de agosto de 2014
Encriptación y desencriptación PHP
Voy a dedicarle un post a este tema, ya que es de los más importantes en tema de programación segura, y es el tema de la encriptación de Datos.
Hay varios tipos de encriptación ya sean unidireccionales, que no se puede saber el valor de origen, como por ejemplo md5, sha1, y bidireccionales, que son los que pemiten volver a la cadena inicial a través del hash.
El hash es la cadena encriptada.
El ejemplo que voy a poner ahora, es una clase que tras pasar un parámetro, lo encriptará o lo desencriptará dependiendo de la función que utilicemos.
Este ejemplo es del tipo bidireccional, ya que te permite encriptar la cadena y volver a su estado inicial.
Este ejemplo es del tipo bidireccional, ya que te permite encriptar la cadena y volver a su estado inicial.
<?php /** * Description of Encrypter * */ class Encrypter { private static $Key = "daycry"; public static function encrypt ($input) { $output = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5(Encrypter::$Key), $input, MCRYPT_MODE_CBC, md5(md5(Encrypter::$Key)))); return $output; } public static function decrypt ($input) { $output = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5(Encrypter::$Key), base64_decode($input), MCRYPT_MODE_CBC, md5(md5(Encrypter::$Key))), "\0"); return $output; } } $texto = "Texto a encriptar"; // Encriptamos el texto $texto_encriptado = Encrypter::encrypt($texto); // Desencriptamos el texto $texto_original = Encrypter::decrypt($texto_encriptado); if ($texto == $texto_original) echo 'Encriptación / Desencriptación realizada correctamente.';
Como podéis ver utiliza el módulo de mcrypt de PHP5 que debe de estar instalado, sino no funcionará este código.
Suscribirse a:
Enviar comentarios
(
Atom
)
Sígueme en las Redes Sociales
Donaciones
Datos personales
Entradas populares
-
En este apartado vamos a explicar como ejercutar archivos PHP a través del terminal de Ubuntu. Lo primero que tendríamos que hacer es inst...
-
En este blog voy a comentar un tema que se utilizan en casi todas las páginas web que existen, y es el tema de la paginación. La paginaci...
-
Este post trata de la integración de la librería PHPExcel en Codeigniter, aunque se podría aplicar a cualquier librería, como por ejemplo mP...
-
Ejemplo para añadir o sumar un número determinado de hora/s, minuto/s, segundo/s a una fecha en php. Con la función strtotime se puede ...
-
Este tema es uno de los temas primordiales sobre el framework Codeigniter, ya que en alguna ocación nos hemos visto obligados a recoger dato...
© Espacio Daycry - Espacio de programación 2013 . Powered by Bootstrap , Blogger templates and RWD Testing Tool
No hay comentarios :
Publicar un comentario