代码点火器MySQL AES有活动记录?

时间:2010-09-30 02:19:33

标签: php mysql activerecord codeigniter aes

如何使用mysql的内置aes加密/解密函数,使用代码点火器活动记录来插入/更新/从数据库中选择数据?

我知道我可以使用普通的sql查询,但我想理想地使用活动记录。

由于

2 个答案:

答案 0 :(得分:5)

如果您使用之前提供的代码:

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

在将密码传递给db-> set

之前,您仍应该转义密码

使用:

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

这样,如果密码包含特殊字符,则不会终止查询

答案 1 :(得分:3)

如果通过传递FALSE作为最后一个参数关闭该特定子句的转义,您仍然可以使用AES_Encrypt:

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

同时指向CI内置Encryption Class,以及有关考虑1-way encryption的文章。