【发布时间】:2023-03-17 17:32:01
【问题描述】:
我制作了一个登录表单,用户在其中提交他的用户名和密码。如果用户名存在,我会解码密码并检查是否与提交的密码相同。
//这是来自数据库
string(50) "v+bNPHNWHGQbcxrvu1vN8Ty++cMq0oEeaZesvfCfsLgNAFgZno"
//这是在解码上面的字符串之后
string(32) "�� U�U{q�0�4��è€UC��o�/�*�."
但它应该返回 123456
对于我使用的编码
$this->encrypt->encode('123456');
这是秘钥
$config['encryption_key'] = 'kRlaMneym7rF';
// 编辑
问题是密码字段设置为 varchar 50
【问题讨论】:
-
你不应该加密你的密码,而是散列它们。然后,当用户尝试登录时,您对发送的值进行哈希处理,并使用数据库中的哈希值进行检查。它还有更多内容(盐等),但基本上就是这样。
-
如何解密数据?
-
$this->encrypt->decode('v+bNPHNWHGQbcxrvu1vN8Ty++cMq0oEeaZesvfCfsLgNAFgZno');
-
如果这是一个本地问题,不太可能帮助其他人,那么您应该删除该问题。否则,如果问题已解决,您应该发布答案。
标签: php codeigniter encryption