miércoles, 20 de agosto de 2014
PHP - Encriptación y desencriptación ASCII
Los temas de seguridad en informática son los mas importantes, independientemente de las funcionalidades que tenga una aplicación, ya que una aplicación sin seguridad será vulnerable a cualquier ataque, y cause pérdidas importancias de información o incluso monetarias.Por eso os voy a mostrar un código que permite encriptar cadenas de datos para almacenar los datos encriptados en bases de datos o simplemente para transportar datos de un servidor a otro.
Funcionamiento
Este código se base en la encriptación mediante códigos ASCII y una contraseña de encriptación y desencriptación, ya que sin esa contraseña no se podría realizar el cifrado de datos.Ejemplo
<?php function encript($var, $clave){ $string = $var; $clave = $clave; do { $clave = $clave . $clave; } while (strlen($string) > strlen($clave)); $b3 = ""; for($i=0; $i<strlen($string); $i++){ $a = ord($string[$i]); $b = ord($clave[$i]); if ( ($i % 2) == 0 ){ $a3 = $a + $b; if($a3 > 255){ $a3 = $a3 - 255; } }else{ $a3 = $a - $b; if( $a3 < 1 ){ $a3 = $a3 + 255; } } if( $b3 == "" ){ $b3 = $a3; }else{ $b3 = $b3.",".$a3; } } return $b3; } function decript($var, $clave){ $let=1; $r=""; $clave = $clave; $cadena = $var; //$cadena_tratada = str_replace(","," ", $cadena); $cadena_tratada = explode(",", $cadena); do { $clave = $clave . $clave; } while (count($cadena_tratada) > strlen($clave)); for($i=0;$i < count($cadena_tratada);$i++){ $a = $cadena_tratada[$i]; $b = ord($clave[$i]); if ( ($i % 2) == 0 ){ $a3 = $a - $b; if($a3 < 1){ $a3 = $a3 + 255; } }else{ $a3 = $a + $b; if($a3 > 255){ $a3 = $a3 - 255; } } if( $r == "" ){ $r = chr($a3); }else{ $r = $r.chr($a3); } } return $r; } $var = "string a convertir"; $clave1="1234_!"; $varEncript = encript($var, $clave1); echo $varEncript; echo"<br>"; $varDecript = decript($varEncript, $clave1); echo $varDecript; ?>
Como se puede observar hay dos funciones una para encriptar y otra para desencriptar la cadena.
En la primera función para encriptar la cadena utulizo la función ord() de PHP, ya que esta función convierte en ASCII un carácter concreto, y para desencriptar utilizo la función chr(), y realiza el proceso inverso, pasar de ASCII a carácter.
El valor 255 que utilizo como filtro en las funciones básicamente es porque en el código ASCII existen 255 valores.
Visualizar tabla ascii
Related Posts
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