【发布时间】:2013-06-12 06:35:16
【问题描述】:
我在检查encrypt->encode() 和encrypt->decode() 给出不同结果的字符串时遇到问题。
$psss = '123456';
echo $encrypted_string = $this->encrypt->encode($psss);
OUTPUT : oOUxUQgP56AUYFe4iXWTQIGjrFhTQ8Sojandl4ZF6TB3UuigUpsGrVKOLFLl+jM1++DerX0dmrzKjyrK9XyhUQ==
以上字符串保存到数据库的密码字段
我提供密码以使用
'123456'登录。-
现在我习惯了
$psss = '123456' echo $encrypted_string = $this->encrypt->encode($psss);
这给了我不同的结果。
- 如何比较 Db 字符串和第 5 步字符串?
【问题讨论】:
-
不要使用可逆的方法来处理密码看看openwall.com/phpass
-
请不要在您的数据库中存储加密密码。如果有人掌握了您的数据库并知道(或可以猜到)密钥,他们将可以访问您存储的每个密码。如果他们拥有您的数据库,那么他们已经可以访问您的服务器并找到您的密钥的可能性有多大?单向散列是一种更安全的策略 - 即使他们完全访问您的代码和数据库,如果没有详尽的散列计算,他们将无法解码任何密码 - 每次重复用户。
-
嗨,1. 发布电子邮件和密码 2. 我使用发布的电子邮件从 Db 获取密码 3. 使用
"$this->encrypt->decode($DBpass);"解码该密码 4. 现在比较 POSTED 和 DECODED 密码
标签: php codeigniter encryption