WordPress密码哈希是如何工作的?
我需要把一个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的实现)。