3 Ejercicios Para Encriptar y Desencriptar Datos en

Páginas: 5 (1161 palabras) Publicado: 7 de marzo de 2015
3 Ejercicios Para Encriptar y Desencriptar Datos en MySQL
Posted 05/10/2013 by PrimeraWeb in Cursos, HTML5, MySQL, PHP, Web. Tagged: Encriptado, Hash, HTML5,MYSQL, PHP, Seguridad. 11 comentarios
Empezaremos con este post con el primero de tres ejercicios que consistirán en:
1. La base de datos y un formulario para guardar claves encriptadas (en este artículo)
2. Un formulario para validar losdatos de un visitante
3. Un formulario de emergencia para os usuarios que olvidaron su contraseña personal
Si deseas recibir las siguientes publicaciones en tu bandeja de correo anótate en el formulario a la derecha “Suscripción por correo electrónico”, o también podrías sindicar este blog con la dirección de nuestros feed .
El ejercicio esta preparado para quienes tengan conocimientos intermediosde PHP (base de datos), del uso de phpMyAdmin y HTML5, trataré de mantener la explicación lo más sencilla posible.
La base de datos
Ingresamos a phpMyAdmin para diseñar nuestra base de datos (la nombraré ‘datos’), para no complicarnos el ejercicio y centrarnos en lo que nos interesa agregamos la tabla ‘usuarios’ con la siguiente estructura (5 campos):
Campo
Atributos
idusuario
entero, PK,auto_incremental
nombres
varchar de 50 caracteres (en realidad pediremos nombre y apellido)
nick
varchar de 50 caracteres, índice único (para impedir dos usuarios con el mismo alias)
clave
varchar de 50 caracteres
clavex
longtext (es para guardar la clave encriptada)
Una vista de mi phpMyAdmin:

Vista en phpMyAdmin de la estructura de la tabla ‘usuarios’
Y para quienes prefieren insertar instrucciones decomando a continuación las líneas del script al generar un backup de la BD:
– phpMyAdmin SQL Dump
— version 3.5.1
— http://www.phpmyadmin.net
— Servidor: localhost
— Tiempo de generación: 05-10-2013 a las 10:49:13
— Versión del servidor: 5.5.24-log
— Versión de PHP: 5.3.13
SET SQL_MODE=”NO_AUTO_VALUE_ON_ZERO”;
SET time_zone = “+00:00″;
/*!40101 SET@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
— Base de datos: `datos`
– ——————————————————–
– Estructura de tabla para la tabla `usuarios`
CREATE TABLE IF NOT EXISTS `usuarios` (
`idusuario` int(11) NOT NULL AUTO_INCREMENT,
`nombres` varchar(50) NOT NULL,
`nick` varchar(50)NOT NULL,
`clave` varchar(50) NOT NULL,
`clavex` longtext NOT NULL,
PRIMARY KEY (`idusuario`),
UNIQUE KEY `nick` (`nick`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Sobre la encriptación decadenas
No voy a extenderme en este punto sobre el que hay mucha y diversa información, me basaré en el sitio en español de PHP.net sobre funciones de hash, y de forma particular usaré la funciónhash_hmac(), posiblemente alguién me corrija sobre una mejor opción y saldré ganando .
¿Cómo saber si tu servidor soporta esta u otras cadenas hash? Carga phpinfo(), si no hay un acceso rápido crea una páginaen tu servidor con extensión php:

Carga esta página en tu navegador y busca la cadena ‘hash’, creo que todos los navegadores reconocen la combinación Ctrl + F, encontrarás este bloque:

Vista de los valores Hash en el servidor
La primera fila está en ‘enabled’ y significa que si soporta hash, la segunda fila muestra todas las funciones hash que están soportadas.
Lafunción hash_hmac() requiere al menos de 3 parámetros (tipo cadena) en este orden:
1. El algoritmo de cifrado que se va a usar, usaré en este ejercicio sha512, que en lo personal me parece bastante seguro (recordemos que la seguridad está en una serie de buenas prácticas y no solamente en encriptar).
2. La cadena a cifrar
3. Otra cadena que se usará en el algoritmo para encriptar la cadena 2 (usaré...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • encripta y desencripta
  • Ejercicios Para Estructura De Datos
  • Ejercicios De Base De Datos Para Principiantes
  • Ejercicios para agregar al tp 3
  • 3 Ejercicios para bajar el abdomen
  • 3 Ejercicios Para Ser Más Creativo
  • Datos De Lesiones Para Ejercicio
  • Datos Del Ejercicio

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS