首页 > 解决方案 > 如何解密 php 中的散列密码?使用 password_hash() 方法散列的密码

问题描述

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

<?php

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

?>

在上面的代码中,我想解密$hashed_password12345. 我该怎么做。

标签: phpencryptionpassword-hash

解决方案


你不需要

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

    $passwordEnteredFirstTime = '12345';
    $passwordEnteredSecondTime = '12345';

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

推荐阅读