C#中能够等价于 php password_verify 和 password_hash 功能的实现方法。
有时候可能会需要在C#程序中来验证 php 生成的哈希密码。实现php系统和C#系统的密码互通。
例如:将php系统迁移到 .NetCore的系统。
或者混合使用php系统和.NetCore系统。
有时候可能会需要在C#程序中来验证 php 生成的哈希密码。实现php系统和C#系统的密码互通。
例如:将php系统迁移到 .NetCore的系统。
或者混合使用php系统和.NetCore系统。
一种保底的实现,间接方式
使用php开发一个api接口,公开给C#调用。
直接C#实现的方式
php的 password_hash 使用的是Blowfish加密算法。我们避免重复造轮子,可以利用现成的类库【CryptSharp】。
C#中实现的验证密码代码如下:
当然我们也可以在C#中实现PHP password_hash 等效的加密功能:
C#中实现的验证密码代码如下:
[复制到剪贴板] |
using CryptSharp;
//等价于PHP的 password_verify 函数
// 验证密码是正确
// inputPassword 用户输入的密码
// hashcryptedPassword PHP的password_hash哈希加密的密码
//
bool isOK = Crypter.CheckPassword(inputPassword, hashcryptedPassword);
当然我们也可以在C#中实现PHP password_hash 等效的加密功能:
[复制到剪贴板] |
using CryptSharp;
//等效于PHP的 password_hash 函数
// 和PHP使用相同的加密算法: Blowfish crypt ("BCrypt")
//
string hashcryptedPassword = Crypter.Blowfish.Crypt(password);
类库【CryptSharp】下载
C#加密库CryptSharp_2_1_0.zip