WordPress密码哈希是如何工作的?

4 投票
2 回答
3902 浏览
提问于 2025-04-15 18:05

我需要把一个Django系统和一个Wordpress网站整合在一起,也就是说,Wordpress的用户应该能够登录Django部分,反之亦然。

为此,我需要了解Wordpress中密码加密是怎么工作的。我可以看到一个叫wp_users的表,这个表里存储了用户名和密码的加密值。

在查看Wordpress的代码时,我发现密码是通过wp_set_password这个函数来设置的,而这个函数又使用了hash_password来加密密码。

不过我对PHP了解得不够,无法理解它是如何工作的。我需要在Python中实现同样的功能,这样我才能在Django部分验证密码。

2 个回答

2

补充一下,下面是来自Wordpress 3.1的"\wp-includes\pluggable.php"文件中的一段评论:

 /**
 * For integration with other applications, this function can be overwritten to
 * instead use the other package password checking algorithm.
 */
7

在这个实现中,有个注释提到:

  28  /**
  29   * Portable PHP password hashing framework.
  30   *
  31   * @package phpass
  32   * @version 0.1 / genuine
  33   * @link http://www.openwall.com/phpass/
  34   * @since 2.5
  35   */

使用的哈希框架是 phpass,而这个页面还链接到了一个Python的实现。这是链接 (.tar.gz)。那个页面还有一些其他有用的链接(比如一个Perl的实现)。

撰写回答