Php 可以使用类似的函数来匹配密码吗?如果是,那怎么办?

Php 可以使用类似的函数来匹配密码吗?如果是,那怎么办?,php,backend,Php,Backend,我知道javascript可以帮我做到这一点,但作为PHP的初学者,我很想知道这一点。是的,您可以对两个密码进行哈希运算,然后检查是否有100%匹配: <?php $hash1 = hash('sha512', 'hello world'); $hash2 = hash('sha512', 'hello world'); similar_text($hash1, $hash2, $percent); if($percent == 100){ echo 'same'; } e

我知道javascript可以帮我做到这一点,但作为PHP的初学者,我很想知道这一点。

是的,您可以对两个密码进行哈希运算,然后检查是否有100%匹配:

<?php

$hash1 = hash('sha512', 'hello world');
$hash2 = hash('sha512', 'hello world');

similar_text($hash1, $hash2, $percent); 

if($percent == 100){
    echo 'same';
} else {
    echo 'different';
}

是的,您可以使用PHP的
类似的\u text()
来比较密码。 此函数甚至可以处理区分大小写的问题

例如—

<?php
$item1 = "Hello";
$item2 = "Hello";

echo similar_text($item1,$item2,$percent);
echo $percent; // 100
?>


在上面的代码中,您将得到100%的百分比。因此,您可以给出一个条件,假设结果为100,则密码比较成功。

最好直接与==:

<?php

$storedpassword  = md5('mypasswd');

if (md5($_POST['password']) == $storedpassword) {
    echo 'ok';
} else {
    echo 'not ok';
}

“可以使用类似的_text()函数匹配密码吗?如果可以,那么如何匹配?”-您尝试过吗?你的密码在哪里?在什么上下文中“匹配密码”?在用户“更改密码”的上下文中,PHP是一种服务器端语言,因此以这种方式使用是不合适的。不要将md5与密码一起使用。出于好奇,为什么要进行哈希处理而不是直接比较字符串呢?因为你不会将密码存储为纯文本,我猜他在数据库中使用某种哈希来获取密码。啊,好的,我只是在
类似文本的上下文中看到了这个答案,而不是它们是密码。如果($percent==100){//它们匹配}
那么这应该被标记为问题的解决方案。