我正在将我的应用程序从PHP移动到C#MVC。我一直在使用以下方法来加密密码:
string password_hash ( string $password )
默认情况下,password_hash()使用BLOWFISH哈希算法并生成前缀为$2y$
的哈希值。
我已经看了一下,然后给出了很多算法的假设的实现,但是它们似乎都不适用于我现有的哈希值,我不确定我是否可以相信他们中的任何一个。
我试过了:
我需要它以便我可以验证数据库中的现有哈希值,并在用户再次登录时使用标准C#.MVC Identity Framework方法恢复它们。
如何使用C#验证在PHP中使用password_hash()
生成的密码?
答案 0 :(得分:0)
我偶然发现了一个名为CryptSharp
的软件包,它似乎与PHP中password_verify()
的方式类似地验证密码。我已经在PHP生成的一些现有密码哈希上对其进行了测试...
using CryptSharp;
bool matches = Crypter.CheckPassword("password", "password hash");
我使用的是2.0.0版本......