0

我在 PHP 中有这个功能

public function hashPassword($password) {
    return crypt($password, '$2a$07$twfAAA1954npfBBB1982oo');
}

它已将密码存储在数据库中。我正在将此数据库转换为使用 Access 作为前端而不是 PHP 和 HTML。我需要 VBA / vbscript 代码来转换输入的密码,如果密码相同,则匹配上述函数的输出。

我已经尝试了所有普通的哈希算法,但它们都不起作用。我不确定 crypt 函数是如何工作的,但它似乎有某种种子值'$2a$07$twfAAA1954npfBBB1982oo'加上密码。然后它可能使用一些标准的哈希算法。

有人可以给我代码,或者至少告诉我 crypt 函数如何使用该种子值,以便我可以crypt()在 vba 中重新创建该函数吗?

我找到了 crypt 函数的源代码,但我对 PHP 的了解还不够强,无法理解到底发生了什么。

4

1 回答 1

0

关于原始函数: http: //php.net/crypt 所以它使用你提到的字符串作为盐。算法是:CRYPT_BLOWFISH

VB中有一些河豚实现:

于 2013-10-23T15:51:38.183 回答