Php 篝火用什么函数散列密码?
我不知道这是CI还是篝火特定的问题,我意识到这不是一个特定的编程问题,但它确实妨碍了我在该环境中编写代码的能力 在Php 篝火用什么函数散列密码?,php,codeigniter,bonfire,Php,Codeigniter,Bonfire,我不知道这是CI还是篝火特定的问题,我意识到这不是一个特定的编程问题,但它确实妨碍了我在该环境中编写代码的能力 在bonfire/modules/users/controllers/users/下有一个控制器,它使用了一个名为login()的漂亮函数。我使用该函数和框架函数register()来满足我所有的登录/注册需求,但现在当我必须从头开始登录Facebook时,我需要比较两个密码 问题是我不能比较密码,因为它们是用一些古怪的散列加上盐散列的,我不知道它们用什么,答案也找不到 我的数据库存储
bonfire/modules/users/controllers/users/
下有一个控制器,它使用了一个名为login()
的漂亮函数。我使用该函数和框架函数register()
来满足我所有的登录/注册需求,但现在当我必须从头开始登录Facebook时,我需要比较两个密码
问题是我不能比较密码,因为它们是用一些古怪的散列加上盐散列的,我不知道它们用什么,答案也找不到
我的数据库存储的散列值如$2a$08$qujpuhg.hyh8o7ybgj1qfe1rvcio/dRIPJ.iaSbHm5P2qAbPTNy
我知道我不应该比较密码,但在这种情况下,我需要比较密码,因为我正在登录Facebook,我需要查看数据库中是否已经存在具有该id的用户。在这种情况下,id存储为用户的密码
那么框架使用什么函数来散列密码呢?CI Bonfire使用(发音为“pH pass”)框架来散列密码
当您或用户时,bonfire使用方法(在引擎盖下加载phpass框架!)创建散列密码
示例
$password=$this->auth->hash_password('password');
$hash=$password['hash'];
$iterations_used=$password['iterations'];
因此,您可以使用相同的算法手动使用该方法对任何字符串进行散列
Auth库中还有一个方法比较两个参数:输入字符串(password
)作为第一个参数,哈希密码(hash
)作为第二个参数。这可能有助于比较目的
示例
if($this->auth->check_password('password to check','HashedPassword'))
{
//密码匹配
...
}
如果密码和哈希匹配,则返回bool(true)
,否则返回false
这些方法也记录在手册中