检索wordpress用户名/密码以通过php注册单独的帐户


Retrieve wordpress username/password to register seperate account via php

我有一个关于wordpress下密码管理的奇怪问题。

我想做什么:我有一个wordpress网站,用户可以选择在服务器上注册单独的应用程序(如果他们选择的话(。 每个用户都有自己的用户名和密码,使用wordpress协议保存;该应用程序还需要自己的用户名/密码,并可以通过 SOAP 进行设置。 我想允许每个用户使用他们的wordpress用户名和密码登录应用程序。

我感到困惑的地方:检索用户名是一个简单的数据库查询,所以那里没有问题。 但是,wordpress正确地加密了数据库中的密码。 我正在寻找一种安全的方法,可以在用户注册密码时自动从数据库中检索密码并将其传递给应用程序以创建一个帐户。

任何想法将不胜感激。

通常,密码以散列形式存储在MySQL数据库中。您需要确定您的辅助应用程序是否以与WordPress相同的格式存储它们。从3.6版本开始,它使用基于称为"phpass"的第三方库的内部哈希机制。

也就是说,如果您的辅助应用程序已经使用 phpass 或可以修改为使用 phpass,您只需在辅助应用程序中创建必要的数据库记录,并将 WordPress 生成的密码哈希直接复制到其中。

如果应用程序不使用phpass生成的哈希,您可以探索编写WordPress插件,以使用它熟悉的密码哈希"抄送"其他应用程序的数据库。请注意不要以任何方式以明文形式记录密码。

如果此辅助应用程序使用不同的密码保护方法,您将无法(通过正常方式((也不应该尝试,为了保护自己(对密码进行反向工程,以便重新哈希或以其他方式加密它们。

考虑到所有这些信息——我个人会探索使用外部身份验证模型/凭据存储,如Facebook、谷歌等——最有可能使用OpenID身份验证范式。

您不会检索现有 Wordpress 用户的密码。这些是散列的,而不是加密的,散列(通常(在设计上是不可逆的。

我建议为Wordpress网站和您的单独应用程序(如OAuth(实现通用授权机制。这应该比破解WordPress密码存储的内在要好,因为您可以获得更大的灵活性,不需要访问Wordpress的敏感数据,也不会依赖于实现(密码存储机制往往会改变(