是否将用户密码转换为MD5?

时间:2012-02-27 作者:Kyle

我正在将我的网站从Wordpress中迁移出来,我需要过滤注册和/或登录过程,以便有一个单独的数据库字段,将用户密码保存在散列中,以便在非WP网站上轻松使用。

我该怎么办?

2 个回复
最合适的回答,由SO网友:Otto 整理而成

可以编写代码,在登录时获取用户的密码,并将其以不同的格式写入不同的位置。随着时间的推移,您将以不同于WordPress本身使用的格式累积密码(它利用了优秀的PHPass library 用于密码存储)。

为此,您最有可能使用“check\\u password”过滤器,它可以接收密码检查的布尔结果、明文密码、哈希密码(使用PHPass)和用户ID号。

然而,在这样做之前,您可能应该考虑一种更好的方法。以不太安全的方式(如MD5)存储密码实际上并不可取。如果需要在另一个web应用程序中进行身份验证,只需使用现有哈希和PHPass库对其进行身份验证。其实很简单:

require_once( \'/wp-includes/class-phpass.php\');
$hasher = new PasswordHash(8, true);
$check = $hasher->CheckPassword($password, $hash);

SO网友:Tom J Nowell

由于哈希是单向过程,要转换为MD5,您有两种选择:

当您切换到新系统时,请用户重置密码,但要强制使用现有的WordPress哈希。这可能要花费很多年的时间,代价是巨大的

此外,我建议不要使用MD5,因为现在使用rainbow表可以相对轻松地强制使用普通MD5。SHA-2是一个更好的选择,加上基于用户自身的盐,例如。sha_hash_password(username.\'_\'.password.\'_\'.common_salt);

结束

相关推荐

如何对GET_USERS函数进行分页?

Im使用get\\u users函数显示站点上的自定义用户列表。我现在唯一有问题的是如何对结果分页。这是Im使用的函数示例:似乎没有一种明显的方法可以为this函数创建分页。如果能帮上点忙,我将不胜感激。