【问题标题】:How to decrypt the hashed password in php ? password hashed with password_hash() method如何解密 php 中的散列密码?使用 password_hash() 方法散列的密码
【发布时间】:2019-02-15 19:15:56
【问题描述】:

我想解密用php的password_hash()方法加密的加密密码。

<?php

    $password = 12345;
    $hashed_password = password_hash($password, PASSWORD_DEFAULT);

?>

在上面的代码中,我想将$hashed_password 解密为12345。我该怎么做。

【问题讨论】:

  • 你不能。这就是加密密码的全部意义所在。
  • 您将加密与散列混合。哈希函数是一种方式。你无法解密它,除非使用了弱哈希函数,否则你可能会发现冲突。

标签: php encryption password-hash


【解决方案1】:

你不能。

password_hash() 使用强大的单向散列算法创建一个新的密码散列。

来自password_hash

【讨论】:

    【解决方案2】:

    你不需要

    使用的算法、成本和盐作为散​​列的一部分返回。 因此,验证哈希所需的所有信息都是 包含在其中。这允许 password_verify() 函数验证 哈希不需要单独存储盐或算法 信息。

        $passwordEnteredFirstTime = '12345';
        $passwordEnteredSecondTime = '12345';
    
        $passwordHash = password_hash($passwordEnteredFirstTime, PASSWORD_BCRYPT);
        $passIsValid = password_verify($passwordEnteredSecondTime, $passwordHash);
        echo $passIsValid ? 'correct password' : 'wrong password';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-09
      • 2021-09-26
      • 2015-08-13
      • 2012-05-30
      相关资源
      最近更新 更多