欢迎光临 Rick 's BLOG
日志首页  | C# .Net编程  | 原创作品  | 生活点滴  | C\C++相关  | 多媒体相关※ERMP  | VB相关  | 其它运维与编程  |  留言簿
ComboBox 使用数据绑定时 Sorted 属性的bug 介绍一个C#的javascpript引擎 Jurassic
晴天  C#等效于php的password_verify 和 password_hash 功能的函数实现
[ 发布日期:12个月前 (11-29) ]   [ 来自:本站原创 ] [分类:C# .Net编程]
C#中能够等价于 php password_verify 和 password_hash 功能的实现方法。
有时候可能会需要在C#程序中来验证 php 生成的哈希密码。实现php系统和C#系统的密码互通。
例如:将php系统迁移到 .NetCore的系统。
或者混合使用php系统和.NetCore系统。


一种保底的实现,间接方式


使用php开发一个api接口,公开给C#调用。


直接C#实现的方式


php的 password_hash 使用的是Blowfish加密算法。我们避免重复造轮子,可以利用现成的类库【CryptSharp】。
C#中实现的验证密码代码如下:
[复制到剪贴板]

using CryptSharp;
//等价于PHP的 password_verify 函数
// 验证密码是正确
// inputPassword 用户输入的密码
// hashcryptedPassword PHP的password_hash哈希加密的密码
//
bool isOK Crypter.CheckPassword(inputPasswordhashcryptedPassword);
 




当然我们也可以在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
引用通告地址 (0):
复制引用地址https://www.rickw.cn/trackback/277
复制引用地址https://www.rickw.cn/trackback/277/GBK
[本日志由 rick 于 12个月前 (11-29) 编辑]
[ 分类:C# .Net编程  | 查看:791 ]

暂时没有评论,快来发表一个评论吧。
发表评论
作者:   用户:[访客] 
评论:

表  情
禁止表情 | 禁止UBB | 禁止图片 | 识别链接
对不起,你没有权限上传附件!
验证:
 
PoweredBy R-Blog V1.00 © 2004-2024 WWW.RICKW.CN, Processed in second(s) , 7 queries    京ICP备17058477号-5