• DE
  • ES
  • EN
  • NL
Google+twitterfacebook

Cifrado

Cifrar un texto o descifrar un texto cifrado
Cifrar Descifrar
Los detalles de esta implementación

El cifrado AES-256 (CBC) que usamos aquí funciona de la siguiente manera:

  • calcula el hashes MD5 de la clave y del Vector de Inicialización
  • determina la clave real y el Vector de Inicialización basado en estos hashes
  • cifra el texto dado con la clave y el Vector de Inicialización de 256 bits AES en modo CBC (Cipher Block Chaining), y este resultado estará cifrada con codificación Base64
  • de descifrar los datos de texto se decodifica por codificación Base64 y se descifra con los anterioramente mencionadas clave y Vector de Inicialización con 256-bit AES en modo CBC (Cipher Block Chaining)


En el caso de cifrado el vector de inicialización sea pegado al frente de el texto especificado. Al descifrar el vector de inicialización sea eliminado desde el comienzo del texto descifrado.

N.B. espacios y similares al inicio y al final de la entrada no sean eliminados y por lo tanto son importantes para el descifrado con éxito!"

¿Qué es AES

Advanced Encryption Standard (AES), también conocido como Rijndael (pronunciado "Rain Doll" en inglés), es un esquema de cifrado por bloques adoptado como un estándar de cifrado por el gobierno de los Estados Unidos. El AES fue anunciado por el Instituto Nacional de Estándares y Tecnología (NIST) como FIPS PUB 197 de los Estados Unidos (FIPS 197) el 26 de noviembre de 2001 después de un proceso de estandarización que duró 5 años. Se transformó en un estándar efectivo el 26 de mayo de 2002. Desde 2006, el AES es uno de los algoritmos más populares usados en criptografía simétrica.

Fuente: Wikipedia

¿Cómo programmar en PHP?
<?php

	define('CRYPT_CIPHER',  MCRYPT_RIJNDAEL_256);				// algoritmo de cifrado
	define('CRYPT_MODE',    MCRYPT_MODE_CBC);					// modo algoritmo de cifrado
 
	define('CRYPT_KEY', 'f6631c0e3de8bff772c9dcfed7353baa');	// clave de cifrado
	define('CRYPT_IV',  'cbb63ead0473bb60e611841fb46b945c');	// vector de Inicialización (IV)

	$text = 'Eso es un texto';									// texto plano para cifrar
 
	// determinar Vector de Inicialización y su tamaño
    $ivSize  = mcrypt_get_iv_size(CRYPT_CIPHER, CRYPT_MODE);
    $iv      = substr(CRYPT_IV, 0, $ivSize);
 
	// determinae clave y su tamaño
    $keySize = mcrypt_get_key_size(CRYPT_CIPHER, CRYPT_MODE);
    $key     = substr(CRYPT_KEY, 0, $keySize);
 
	// cifrar texto
    $result = mcrypt_encrypt(CRYPT_CIPHER, $key, $text, CRYPT_MODE, $iv);

	// el resultó contiene una string binaria, para almacenar en cualquier
	// lugar conviertelo a ASCII optimizada utilizando la codificación base64
    $result = base64_encode($result);
 
	// ahora $result contiene string
	// 'IB2qgEFnxxe1cFzmGySDkAwesX0NUDlc1tmOBb8OXSk='

Llama ahora al  966 365 799 , si necesitas otra herramienta!