说起对密码加密,常见的莫不有密码加上盐值然后整体使用md5,这样,就算黑客能拿到用户密码存放的那张数据表,但因为盐值不一样,破解起来也是相当耗时耗力。而我自己之前使用的加密方式就更low了,我使用的同一盐值,直到我那天看康师傅有个课程的视频后,才知道有Bcrypt这个专门对密码仅加密的东西。
下面给到一段AI介绍:
因为我能力有限,平时做一些自己用的项目 开发api的时候,往往使用的php。在这里,主要介绍如何在PHP中使用Bcrypt。其实很简单,加密的时候使用**password_hash()函数,比对的时候使用password_verify()**函数。
它有两个参数,第一个是密码明文,即我们想要加密的密码,比如123456、su666.等。在这里给一段示例代码:
<?php
$password="123456";
$encoded_password=password_hash($password,PASSWORD_BCRYPT);
echo $encoded_password;
?>
我们打开浏览器,会发现网页中出现一串经过加密的字符串:
那能否精确比对上呢?
这个函数有两个参数,第一个是密码明文,即我们前面所说的123456等,第二个是加密后的字符串。函数会使用特定的逻辑,去比对密码明文经过加密后是不是后面的字符串。下面给段示例代码:
$hash='$2y$10$Yn5PX34h3Vbg6r.2j77FjOqVe47d.EBMa4GYSJIUAZb1hSyzRT2.S';
echo "比对的结果是:".password_verify("123456",$hash);
我们打开网页,发现:
即完美匹配上
以上就是本文全部内容,欢迎小伙伴们讨论交流。















