C#.NET的Blowfish实现 - 从PHP迁移到C#

时间:2014-09-17 09:59:41

标签: c# php cryptography blowfish

我正在将我的应用程序从PHP移动到C#MVC。我一直在使用以下方法来加密密码:

string password_hash ( string $password )

默认情况下,password_hash()使用BLOWFISH哈希算法并生成前缀为$2y$的哈希值。

我已经看了一下,然后给出了很多算法的假设的实现,但是它们似乎都不适用于我现有的哈希值,我不确定我是否可以相信他们中的任何一个。

我试过了:

  • 来自Nuget的Bcrypt.NET
  • This
  • 我想给This一个去,直到我意识到它在Nuget页面上显示'Unlisted'。

我需要它以便我可以验证数据库中的现有哈希值,并在用户再次登录时使用标准C#.MVC Identity Framework方法恢复它们。

如何使用C#验证在PHP中使用password_hash()生成的密码?

1 个答案:

答案 0 :(得分:0)

我偶然发现了一个名为CryptSharp的软件包,它似乎与PHP中password_verify()的方式类似地验证密码。我已经在PHP生成的一些现有密码哈希上对其进行了测试...

using CryptSharp;
bool matches = Crypter.CheckPassword("password", "password hash");

以下是Nuget PackageDocs

我使用的是2.0.0版本......