Воспламенитель кода MySQL AES с активными записями? - PullRequest
4 голосов
/ 30 сентября 2010

Как бы я использовал активные записи средства зажигания кода для вставки / обновления / выбора данных из базы данных, используя встроенные в MySQL функции шифрования / дешифрования?

Я знаю, что мог бы просто использовать обычный SQL-запрос, но яЯ бы хотел использовать активные записи в идеале.

Спасибо

Ответы [ 2 ]

5 голосов
/ 04 октября 2010

Если вы используете код, предоставленный ранее:

$this->db->set('password',"AES_ENCRYPT('{$data['password']}','my_key')",FALSE);

, вы все равно должны экранировать пароль перед передачей его в db-> set

use:

$pass = $this->db->escape($data['password']);

Таким образом, если пароль содержит специальные символы, он не убивает запрос

3 голосов
/ 30 сентября 2010

Вы все еще можете использовать AES_Encrypt, если отключите экранирование для этого конкретного условия, передав FALSE в качестве последнего параметра:

$pass = $this->db->escape($data['password']);
$this->db->set('password', "AES_ENCRYPT('{$pass}','my_key')", FALSE);

Также укажите на встроенный CI Класс шифрования и статья о одностороннем шифровании .

...