Ben*_*Ben 5 php encryption codeigniter
我做了一个登录表单,用户提交了他的用户名和密码.如果用户名存在,我解码密码并检查是否与提交的密码相同.
//这是来自db
string(50) "v+bNPHNWHGQbcxrvu1vN8Ty++cMq0oEeaZesvfCfsLgNAFgZno"
Run Code Online (Sandbox Code Playgroud)
//这是在解码上面的字符串之后
string(32) "�� U�U{q�0�4��è€UC��o�/�*�."
Run Code Online (Sandbox Code Playgroud)
但它应该返回123456
对于我使用的编码
$this->encrypt->encode('123456');
Run Code Online (Sandbox Code Playgroud)
这是秘密密钥
$config['encryption_key'] = 'kRlaMneym7rF';
Run Code Online (Sandbox Code Playgroud)
//编辑
问题是密码字段设置为varchar 50
请在配置中检查您的codeigniter字符集
$config['charset'] = 'UTF-8';
Run Code Online (Sandbox Code Playgroud)
而不是数据库的字符集。您的冲突可能来自那里。
将Codeigniter进行测试,看看是否返回正确的结果。像以前一样尝试硬编码,或者在您的控制器中进行复制和测试。
$config['charset'] = 'UTF-8';
Run Code Online (Sandbox Code Playgroud)
}
我的产生了预期的结果:12345。如果可行,那么您的问题可能是字符集(字符集)。我在这里使用加密密钥。您可以通过在编码和解码中省略第二个参数来在配置中使用默认值。
让我知道是否有帮助
| 归档时间: |
|
| 查看次数: |
15535 次 |
| 最近记录: |