As Troester says, you can't just turn on encryption for existing data. Fabrik then expects the data to be encrypted when reading. Encryption in MySQL is not "seamless", it happens at the query level, so the application querying the data has to tell MySQL to encrypt or decrypt. You would usually set encryption before entering the data.
(Note that we do actually have code in Fabrik to encrypt/decrypt columns of data when switching encryption on and off, but for various reasons we disabled it - I may re-enable it in the next version of Fabrik)
So if you have existing data, you'll have to manually encrypt it.
First look at your ./configuration.php file in Joomla, and find the $secret, which will look something like 'XaqIyOcuDjcR6w4F' (a string of 16 random characters).
Then BACK UP YOUR DATABASE. Or at least the table you want to work on. If you don't backup, and you mess this step up, you lose your data.
Then MAKE SURE YOU BACKED UP YOUR DATA.
Then triple check that you BACKED UP YOUR DATA.
Then, for each of the elements you want to encrypt:
In Fabrik, enable encryption for the element. When you save, Fabrik will ask you to confirm changing the field to a "BLOB". Say Yes.
Then in phpMyAdmin (or whatever database client you use) run this:
Code:
UPDATE yourtable SET yourfield = AES_ENCRYPT(yourfield, 'XaqIyOcuDjcR6w4F');
Substitute your table and field names as appropriate. Be very careful that you get the secret correct, surrounded by single quotes.
Test that it worked by running this:
Code:
SELECT AES_DECRYPT(yourfield, 'XaqIyOcuDjcR6w4F') FROM yourtable;
... which should output the plain text (unencrypted) field values.
Repeat for each field you need to encrypt.
-- hugh