【问题标题】:Integrate Cakephp username and password for a php script为 php 脚本集成 Cakephp 用户名和密码
【发布时间】:2012-10-04 10:28:17
【问题描述】:

我目前正在做一个 PHP 项目,我需要从 CakePHP 驱动的网站集成用户信息。

CakePHP 使用以下方法进行密码加密:

Security::hash($user['User']['password'],null,true);

我知道,CakePHP 默认使用 SHA1 加密方式。

我曾尝试使用 PHP 使用 SHA1 加密密码,但我知道这与 cakePHP 加密不匹配。

    <?php
    $str = 'apple';

    if (sha1($str) === 'd0be2dc421be4fcd0172e5afceea3970e2f3d940') {
        echo "login info found?";
    }
else{

echo "No info found";

}
    ?>

如果有人有解决方案。请帮帮我。

【问题讨论】:

    标签: php cakephp hash passwords sha1


    【解决方案1】:

    因为您的第三个参数为真,CakePHP 将使用存储在您的配置中的值对哈希进行加盐: $string = Configure::read('Security.salt') . $string;
    http://api.cakephp.org/view_source/security#line-91

    【讨论】:

    • 好的,我怎样才能找回正确的密码?请举个例子。
    • 这给出运行:&lt;form action="&lt;? echo $_SERVER['PHP_SELF']; ?&gt;" method="POST"&gt; 987654324 &lt;input type="submit" value="Submit" /&gt; 987654326 &lt;?php 987654328 $hashStoredInDatabase="c2dd61147961759b58ca05c3ef3054f0e9cb4bfc"; 987654330 if(sha1($saltStoredInDatabase.$_POST['password'])==$hashStoredInDatabase) 987654332 echo "Passwords match!"; 987654334 @ 987654335@}exit;?&gt;密码是apple
    • 一旦你得到这个工作更新 IF 语句改为使用:if(Security::hash($_POST['password'],null,$saltStoredInDatabase)==$hashStoredInDatabase)
    猜你喜欢
    • 2019-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    • 2016-07-08
    相关资源
    最近更新 更多