需要一种方法来模拟 vba 中的 PHP crypt() 函数


Need a way to emulate PHP crypt() Function in vba

>我在PHP中有这个函数

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

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

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

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

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

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

VB中有一些河豚实现:

  • http://www11.brinkster.com/notbono/vb.asp
  • http://www.example-code.com/vbscript/crypt2_blowfish_matchPhp.asp
  • http://www.di-mgt.com.au/cryptoBlowfishASP.html