Ktor - 根据 wordpress 数据库检查密码
Ktor - checking passwords against wordpress database
我正在尝试对 ktor 中的 wordpress/Mysql 数据库执行用户身份验证。据我所知,密码在散列转换后存储在 wp_users table 中,使用 phpass 框架执行。
从纯文本密码开始,我的目标是将此密码与存储在数据库中的哈希值进行比较,以了解我是否必须对用户进行身份验证。
ktor和mysql/wordpress之间有没有支持?
显然,Ktor 本身对 Wordpress 或任何其他 PHP 技术一无所知。
实际上,它也不知道数据库。有一个 Exposed ORM-framework,在 Ktor 项目中经常使用它。它支持 MySQL 个数据库,因此它也适用于这种情况。
但我相信您必须自己编写此集成,因为这是一种相当奇特的技术组合 (Ktor+Wordpress),之前其他人不太可能这样做过。
我终于成功了!
我从文档中发现 wordpress 使用 Wolf480pl 称为 bcrypt. Then I searched github for a java implementation and I got into this repository 的密码哈希函数。
通过将 BCrypt.java
和 PHPass.java
文件复制到我的项目中,我只编写了这个简单的 kotlin 函数来检查存储到数据库中的哈希之间的匹配(我使用 Exposed 连接到 mySQL 数据库) 和明文密码:
fun passwordMatch(password: String, storedHash: String): Boolean {
val checker = PHPass(8)
return checker.checkPassword(password, storedHash)
}
就是这样,它有效!
我正在尝试对 ktor 中的 wordpress/Mysql 数据库执行用户身份验证。据我所知,密码在散列转换后存储在 wp_users table 中,使用 phpass 框架执行。 从纯文本密码开始,我的目标是将此密码与存储在数据库中的哈希值进行比较,以了解我是否必须对用户进行身份验证。 ktor和mysql/wordpress之间有没有支持?
显然,Ktor 本身对 Wordpress 或任何其他 PHP 技术一无所知。 实际上,它也不知道数据库。有一个 Exposed ORM-framework,在 Ktor 项目中经常使用它。它支持 MySQL 个数据库,因此它也适用于这种情况。
但我相信您必须自己编写此集成,因为这是一种相当奇特的技术组合 (Ktor+Wordpress),之前其他人不太可能这样做过。
我终于成功了!
我从文档中发现 wordpress 使用 Wolf480pl 称为 bcrypt. Then I searched github for a java implementation and I got into this repository 的密码哈希函数。
通过将 BCrypt.java
和 PHPass.java
文件复制到我的项目中,我只编写了这个简单的 kotlin 函数来检查存储到数据库中的哈希之间的匹配(我使用 Exposed 连接到 mySQL 数据库) 和明文密码:
fun passwordMatch(password: String, storedHash: String): Boolean {
val checker = PHPass(8)
return checker.checkPassword(password, storedHash)
}
就是这样,它有效!