【问题标题】:Laravel Password Encryption Parameters to decrypt the codeLaravel 密码加密参数解密代码
【发布时间】:2023-04-05 11:32:01
【问题描述】:

我有一些不同的要求,我不想解码密码,但我正在基于 SAME DATABASE 为 LOGIN 构建一些其他应用程序,所以我可以做些什么来“加密密码值,使其与后端密码匹配加密代码”。

我想从 CODEIGNITOR 应用程序提供登录信息,其中数据库由 LARAVEL 中的管理应用程序创建...这是问题...

所以通过CodeIgnitor,如果有人登录,密码将被加密等效散列加密的laravel应用程序代码。

加密密码是

$2y$10$cwd15HRgON0ytqkkV5F9zupfUOkqaii7fpbB9Kjd9I7W46LRYY0Km

而真正的PASSWOORD是

123456

请帮忙...

【问题讨论】:

    标签: laravel laravel-5 password-protection password-encryption password-hash


    【解决方案1】:

    Caddy DZ 的回答是对的,但为了更好地回答您的问题,您应该知道每次使用 bcrypt 函数生成新密码时,都会使用新的随机盐。
    这导致您每次生成相同的密码时最终都会获得不同的哈希值。

    验证密码正确性的唯一方法是使用名为password_verify的内置php函数。
    该函数将使用您在数据库中已有的用于生成存储密码(要使用的盐存储在密码哈希中)的相同盐来散列您的密码(作为第二个参数提供):

    $password = '123456';
    $saved = 'your stored hash';
    
    if (password_verify($password, $saved)) {
        echo 'Correct password.';
    }
    

    您可以查看有关password_verify的文档

    【讨论】:

    • 谢谢 :) 球童的答案是准确的,因为已经阅读了更多选项,而您的答案正好解决了我的问题 :)
    • 如果问题解决了,别忘了标记正确答案!
    【解决方案2】:

    这不是可以解密的标准加密,这是散列,它只是一 (1) 种方式的加密..
    要实现这一点,您需要在两个应用程序(Laravel 和 CodeIgniter)之间使用相同的哈希算法

    例如 laravel 默认使用 bcrypt 对密码进行哈希处理,因此您需要配置 CodeIgniter 以使用相同或反之亦然。

    bcrypt for codeigniter

    【讨论】:

    • 谢谢,我正在寻找您所说的“相同的哈希算法”bcrypt,但 laraval 代码确实有哈希键-如何使用它???
    • 为代码点火器添加了 bcrypt 的链接,它是 Laravel 内置的,因此无需安装
    • 谢谢,但它没有使用 bcrypt 生成相同的加密密码....请参阅问题以查看带有实际密码字符串的存储密码...
    • 它是这样设计的,但仍然适用于两者,请参阅stackoverflow.com/a/39198006/5581565
    猜你喜欢
    • 2010-12-13
    • 2022-01-21
    • 2012-10-03
    • 2020-11-10
    • 1970-01-01
    • 2014-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多