Welcome to WebmasterWorld Guest from 54.167.116.62

Forum Moderators: open

Message Too Old, No Replies

Can't get aes encrypt to work

     

dowzer

9:55 pm on Mar 1, 2011 (gmt 0)

5+ Year Member



I am trying to use AES_ENCRPYT to encrypt some sensitive data in a MySQL database which needs to be able to be decrypted to allow a user to update the data later.

I am using the below syntax in PHPMyAdmin initially but, while I get a 1 row(s) inserted message, the field value is blank - any idea what I am doing wrong?

INSERT INTO table (field_name) VALUES (AES_ENCRYPT('text','password'))

The table and field in question is configured as:

CREATE TABLE IF NOT EXISTS `table` (
`id` int(5) NOT NULL auto_increment,
`field_name` varchar(200) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=28 ;

I am using PHPMyAdmin version 3.3.9 with MySQL version 5.0.92 and PHP version: 5.2.6 on Linux.

Thanks
Jase

eelixduppy

4:36 am on Mar 9, 2011 (gmt 0)

WebmasterWorld Senior Member eelixduppy is a WebmasterWorld Top Contributor of All Time 5+ Year Member



If AES_DECRYPT() detects invalid data or incorrect padding, it returns NULL.


Perhaps there is a problem with phpmyadmin, not sure, though. Why don't you try it from the command-line MySQL client?

dowzer

4:53 am on Mar 9, 2011 (gmt 0)

5+ Year Member



Thanks for replying - I did get this sorted so thought I should share in case it helps someone else!

The problem is the field type - AES_ENCRYPT will not work with VARCHAR, the field type needs to be set to BLOB. Once I changed all the fields to BLOB it now encrypts and decrypts great :)
 

Featured Threads

Hot Threads This Week

Hot Threads This Month