Hash 查找密码哈希的秘密消息(知道密码和哈希密码)

Hash 查找密码哈希的秘密消息(知道密码和哈希密码),hash,passwords,modx-revolution,Hash,Passwords,Modx Revolution,我目前正在使用Evo CMS。我想创建一个备用后端,以比Evo的默认后端更优雅的方式显示数据 我目前的问题是,如果我想让登录名处理现有的详细信息,我需要弄清楚密码是如何被散列的,这在源代码中似乎找不到 我有没有办法在知道散列密码和纯文本密码的情况下找到密钥 我认为Evo使用的是河豚加密。你提到的“秘密信息”被称为salt。然而,您实现这一点的方式并不理想,因为反向工程登录功能(MODX的一个功能,将来可能会更改或更新)只有在MODX的密码加密和盐析方法保持不变的情况下才能工作 如果您想使用MOD

我目前正在使用Evo CMS。我想创建一个备用后端,以比Evo的默认后端更优雅的方式显示数据

我目前的问题是,如果我想让登录名处理现有的详细信息,我需要弄清楚密码是如何被散列的,这在源代码中似乎找不到

我有没有办法在知道散列密码和纯文本密码的情况下找到密钥

我认为Evo使用的是河豚加密。

你提到的“秘密信息”被称为salt。然而,您实现这一点的方式并不理想,因为反向工程登录功能(MODX的一个功能,将来可能会更改或更新)只有在MODX的密码加密和盐析方法保持不变的情况下才能工作

如果您想使用MODX的登录功能,但在成功登录后显示不同的后端,最简单的方法是创建一个附加到事件的插件。 在该插件中,您可以编写一些代码重定向到不同的管理界面。确保正确保护该管理界面。我建议在插件中实现一种令牌生成类型,该插件将生成一个令牌到您的自定义后端。 这样,只有具有有效令牌(在重定向之前生成)的用户才能使用您的自定义后端

如果您想使用自定义登录表单,我建议您创建自己的登录功能,或者导入modxapi并运行
security/login
处理器,通过MODX对用户进行身份验证。 下面的示例(未测试!)可以在MODX之外的PHP脚本中使用。如果您计划使用它,则需要调整标有
xxxxx
的路径

require_once '/xxxxx/config.core.php';
require_once MODX_CORE_PATH . 'config/' . MODX_CONFIG_KEY . '.inc.php';
require_once MODX_CORE_PATH . 'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');

$output = $modx->runProcessor('security/login', array(
            'username' => 'xxxxx',
            'password' => 'xxxxx'
        ), array (
            'processors_path' => '/xxxxx/core/model/modx/processors'
        ));
var_dump($output);