PHP - password_hash() 在使用 ROT13 后没有 return 任何东西
PHP - password_hash() Doesn't return anything after using ROT13
在我的 php 文件中,我有 3 个变量,一个包含明文密码,一个包含从 ROT13 加密反转后的明文密码,最后一个变量包含散列密码。
<?php
$clearpwd = $_POST['var1']; //something
$reversedpwd = str_rot13($_POST['var2']); //something that was reversed now and stored as something now not in rot13 form
$hashedpwd = 'ysIma.5gA9sqoXckMG.Fru/hRxvV6nrodiI/24wvu.qp1jpLG1gU2';
//a hash given by password_hash(something, PASSWORD_DEFAULT); note that the hash is already generated and not regenerated each time you execute the php so it's static.
echo password_verify($clearpwd, $hashedpwd); //returns 1
echo password_verify($reversedpwd, $hashedpwd); //returns nothing
?>
因此,当我在最后执行 password_verify 时,clearpwd 和 reversedpwd 都包含完全相同的文本(在此示例中为 'something'),但只有 clearpwd 我得到 1.
任何想法或为什么它不喜欢将算法与之前经过 rot13 编码然后解码为原始字符串 ('something') 的文本相匹配??
其他信息:
我正在使用 php ver 7.4 和 Softaculous AMPPS。
rot13 编码变量来自一个输入,该输入已使用 php 函数使用 rot13 加密,然后将其发送到另一个 php 文件以对其进行解释和验证。
$clearpwd
和$reversedpwd
不一样。
尝试将它们与 var_dump($clearpwd === $reversedpwd)
进行比较。
也许字符串中的文本周围有一些空格?试试 trim($reversedpwd)
.
在我的 php 文件中,我有 3 个变量,一个包含明文密码,一个包含从 ROT13 加密反转后的明文密码,最后一个变量包含散列密码。
<?php
$clearpwd = $_POST['var1']; //something
$reversedpwd = str_rot13($_POST['var2']); //something that was reversed now and stored as something now not in rot13 form
$hashedpwd = 'ysIma.5gA9sqoXckMG.Fru/hRxvV6nrodiI/24wvu.qp1jpLG1gU2';
//a hash given by password_hash(something, PASSWORD_DEFAULT); note that the hash is already generated and not regenerated each time you execute the php so it's static.
echo password_verify($clearpwd, $hashedpwd); //returns 1
echo password_verify($reversedpwd, $hashedpwd); //returns nothing
?>
因此,当我在最后执行 password_verify 时,clearpwd 和 reversedpwd 都包含完全相同的文本(在此示例中为 'something'),但只有 clearpwd 我得到 1.
任何想法或为什么它不喜欢将算法与之前经过 rot13 编码然后解码为原始字符串 ('something') 的文本相匹配??
其他信息: 我正在使用 php ver 7.4 和 Softaculous AMPPS。 rot13 编码变量来自一个输入,该输入已使用 php 函数使用 rot13 加密,然后将其发送到另一个 php 文件以对其进行解释和验证。
$clearpwd
和$reversedpwd
不一样。
尝试将它们与 var_dump($clearpwd === $reversedpwd)
进行比较。
也许字符串中的文本周围有一些空格?试试 trim($reversedpwd)
.