我可以针对vb.netBCrypt.net验证来自PHP 7Symfony的bcrypt密码吗?

问题描述

我已经有很多用户使用现有的Web服务。这些用户具有用户名和bcrypt密码。这些密码如下所示:

"$2y$10$0veojsfh43..."

现在,我已经创建了一个vb.net应用程序,并希望重新使用Web服务中的te登录。应用程序逻辑工作正常,但问题开始于从我的Web服务验证密码。我正在使用BCrypt.net,它显示错误“无效的盐修订版”。无论我做什么,似乎都无法验证密码。使用BCrypt创建密码并针对文本密码进行验证就可以了。但是我可以看到密码如下所示:

"$2a$12$5sdf65fghkl..."

为什么我不能在vb.net中从PHP验证密码?

解决方法

我要做的就是将“ $ 2y”更改为“ $ 2a”! bcrypt的版本只是有所不同。一切都在这里清楚地解释了:

Using bcrypt-ruby to validate hashed passwords using version $2y

这是关于ruby的,但是vb.net显然使用了相同版本的BCrypt。