小编Wil*_*ron的帖子

password_hash和password_verify:使用硬编码哈希总是评估为false

我已阅读此主题的其他帖子,但尚未找到解决此问题的方法.这是我的代码,简化为裸功能:

<?php

$password = "YS7Wde5s";

$hashA = password_hash($password, PASSWORD_BCRYPT);
echo $hashA . "<br>";

// Copied from echo above
$hashB = "$2y$10$nltCAZhbMD2OILgq2ftWNOd6kJL8oidQ12CLEM5Gi1kIj5GxKtNhm";

if (password_verify($password, $hashA)) {
    echo "yes";
} else {
    echo "no";
}
?>
Run Code Online (Sandbox Code Playgroud)

上面的代码适用$hashA于验证密码.但:

  • $hashA每当我重新加载页面时,echo 返回一个不同的哈希.
  • 如果我复制回显的哈希,硬编码$hashB,并使用它代替$hashA,我永远不会得到真正的password_verify呼叫.

我错过了什么?是否存在我不知道的隐式类型转换?或者我应该如何工作?

php password-hash

0
推荐指数
1
解决办法
100
查看次数

如何从CATSSession对象访问用户标识?

我有以下代码行

<?php
    $userobject = $_SESSION[CATS];
    print_r($userobject);
?>
Run Code Online (Sandbox Code Playgroud)

以这种方式给我一个输出.

CATSSession Object ( [_siteID:CATSSession:private] => 1 [_userID:CATSSession:private] => 1262 [_siteCompanyID:CATSSession:private] => -1 [_userLoginID:CATSSession:private] => 184 [_accessLevel:CATSSession:private] => 200 [_realAccessLevel:CATSSession:private] => 200 [_isLoggedIn:CATSSession:private] => 1 [_isDemo:CATSSession:private] => [_isASP:CATSSession:private] => [_isFree:CATSSession:private] => [_isHrMode:CATSSession:private] => [_accountActive:CATSSession:private] => 1 [_accountDeleted:CATSSession:private] => [_siteName:CATSSession:private] => toppersedge.com [_unixName:CATSSession:private] => [_username:CATSSession:private] => savita [_password:CATSSession:private] => 6a8ce6560ef2e1bb577447dacc710fa7 [_firstName:CATSSession:private] => savita [_lastName:CATSSession:private] => savita [_email:CATSSession:private] => savita@toppersedge.com [_ip:CATSSession:private] => ::1 [_userAgent:CATSSession:private] => Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36 …
Run Code Online (Sandbox Code Playgroud)

php arrays object

0
推荐指数
1
解决办法
47
查看次数

标签 统计

php ×2

arrays ×1

object ×1

password-hash ×1