php - Bcrypt密码在运行时更改?
问题描述
所以我不明白为什么在插入之前和插入之后我的 bcrypt 密码值不同。
这是我的代码..
$datas['user_name'] = $data['name'];
$pass = $data['name'];
$pass = str_replace(' ', '', $pass);
$datas['decrypt_pass'] = $pass.'@123';
//var_dump($datas['decrypt_pass']);
$options = ['cost' => 12];
$datas['password'] = password_hash($datas['decrypt_pass'], PASSWORD_BCRYPT, $options);
// here i've different value of $datas['password'] which is matching
// but as soon as I insert is just after this line, someother brcypt gets inserted
$this->db->insert('users',$datas);
我确定我的值在插入之前和插入之后都发生了变化,为什么会发生这种情况,我该如何解决?
我试过这个..
$pass1=bin2hex($datas['decrypt_pass']);
echo $datas['password'] = password_hash($pass1, PASSWORD_BCRYPT, $options);
$hash = hex2bin('$2y$12$nv7MZpITG2QqTOC91rouBOdn3/WqI6uNUUyP4I6vsEpYh46LD7ZNW');
if (password_verify('bilalmalik@123', $hash)) {
echo 'Password is valid!';
} else {
echo 'Invalid password.';
}
解决方案
推荐阅读
- android - 将数据从一个活动传递到另一个活动的交互器
- python - 用于创建 numpy 数组的多个深层副本的一个衬垫?
- typescript - 从没有“文档”的猫鼬模式中提取 TS 接口?
- python - 如何在 Google Cloud Talent Solution 中创建具有自定义属性的工作
- graphql - 解析器映射模板开发指南
- javascript - 为什么我在 ctx.fillRect() 上未定义?
- xpath - 如何将 Billboard 网站上的歌曲列表导入 Google 表格?
- javascript - 嵌套数组上的 Firebase arrayUnion
- android - 哪些布局元素用于以下类型的布局
- google-app-engine - 自部署以来,GAE 站点出现新异常:“无法读取未定义的属性 'parsePath'”