我需要使用不区分大小写的电子邮件id登录。我的邮件id以加密格式存储,我使用以下查询从数据库获取:
$this->db->select('Name');
$this->db->from('users');
$this->db->where('emailId',"AES_ENCRYPT('{$emailId}','/*awshp$*/') ", FALSE);
$query = $this->db->get();
$result = $query->row();
return $result;
我用的是二进制,但没有用
2条答案
按热度按时间vmdwslir1#
aes加密是一种双向算法,这意味着您可以恢复原始值,因此您还可以更新不符合要测试的格式的现有记录。
在数据库中运行更新之后,只需应用timbiegeleisen提出的建议,就可以开始了。
更新现有记录的演示
注意:不要忘记更改update语句,使其与列名和用作salt的值相匹配。
cl25kdpy2#
它有简单的逻辑,当你注册存储哈希值的电子邮件id转换成小写。并且在登录时也将其转换为小写。所以,如果用户在任何情况下输入电子邮件id,则加密字符串匹配。