比较PHP和NodeJS之间的BCrypt哈希


Autistic
2025-09-04 07:54:26 (14天前)
  1. 对于我正在处理的应用,


的NodeJS
</跨度>
需要验证PHP创建的哈希值,反之亦然。

问题是,PHP中生成的哈希值(通过Laravel的Hash类,它只使用PHP的password_hash“失败”,
bcrypt.compareSync(password,nodeGeneratedHash)? “

的NodeJS
</跨度>
传递’:’

的NodeJS
</跨度>
失败”
);

输出:’PHP失败了

的NodeJS
</跨度>
传递’,而以下PHP脚本:

&LT; PHP

$ password =’密码’

2 条回复
  1. 0# 张三岁 | 2019-08-31 10-32



    我试图计算之前所说的内容,以获得有效的代码。如你所见,我不需要更换任何东西。



    在PHP 7.2.4方面:




    1. <?php
      $password = test123”;
      $hash = password_hash($password, PASSWORD_BCRYPT);
      echo $hash; // I get $2y$10$5EaF4lMSCFWe7YqqxyBnR.QmDu1XhoiaQxrOFw.AJZkGCYmpsWDU6

    2. </code>


    在nodeJS端:



    安装bcryptjs包:npm i bcryptjs




    1. var bcrypt = require(‘bcryptjs’);
      let hash1=”$2y$10$5EaF4lMSCFWe7YqqxyBnR.QmDu1XhoiaQxrOFw.AJZkGCYmpsWDU6”;
      console.log(bcrypt.compareSync(“test123”, hash1)); // display true

    2. </code>

登录 后才能参与评论