Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/04/2008, 10:53
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 9 meses
Puntos: 574
Re: Encriptar Email BD

Mira las funciones de encriptacion que tiene definidas el propio MySQL, pero recuerda usar una que se pueda des encriptar por que sino no se de que te serviran esos emails....

Quim

Del help de MySQL Query Browser 1.2.12


Cita:
The functions in this section perform encryption and decryption, and compression and uncompression:

Compression or encryption --> Uncompression or decryption
AES_ENCRYT() --> AES_DECRYPT()
COMPRESS() --> UNCOMPRESS()
ENCODE() --> DECODE()
DES_ENCRYPT() --> DES_DECRYPT()
ENCRYPT() --> Not available
MD5() --> Not available
OLD_PASSWORD() --> Not available
PASSWORD() --> Not available
SHA() or SHA1() --> Not available
Not available --> UNCOMPRESSED_LENGTH()

Note: The encryption and compression functions return binary strings. For many of these functions, the result might contain arbitrary byte values. If you want to store these results, use a BLOB column rather than a CHAR or (before MySQL 5.0.3) VARCHAR column to avoid potential problems with trailing space removal that would change data values.

Note: Exploits for the MD5 and SHA-1 algorithms have become known. You may wish to consider using one of the other encryption functions described in this section instead.


AES_ENCRYPT(str,key_str), AES_DECRYPT(crypt_str,key_str)

These functions allow encryption and decryption of data using the official AES (Advanced Encryption Standard) algorithm, previously known as “Rijndael.” Encoding with a 128-bit key length is used, but you can extend it up to 256 bits by modifying the source. We chose 128 bits because it is much faster and it is secure enough for most purposes.

AES_ENCRYPT() encrypts a string and returns a binary string. AES_DECRYPT() decrypts the encrypted string and returns the original string. The input arguments may be any length. If either argument is NULL, the result of this function is also NULL.

Because AES is a block-level algorithm, padding is used to encode uneven length strings and so the result string length may be calculated using this formula:

16 × (trunc(string_length / 16) + 1)
If AES_DECRYPT() detects invalid data or incorrect padding, it returns NULL. However, it is possible for AES_DECRYPT() to return a non-NULL value (possibly garbage) if the input data or the key is invalid.

You can use the AES functions to store data in an encrypted form by modifying your queries:

INSERT INTO t VALUES (1,AES_ENCRYPT('text','password'));
AES_ENCRYPT() and AES_DECRYPT() can be considered the most cryptographically secure encryption functions currently available in MySQL.


...