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