如何在Visual Basic .NET中使用BCRYPT?求详细分步操作流程
在Visual Basic .NET中使用BCrypt的分步操作指南
步骤1:安装依赖包
.NET生态下最稳定的BCrypt实现是BCrypt.Net-Next,可直接通过NuGet安装:
- 打开你的VB.NET项目,右键点击解决方案资源管理器中的项目名称,选择「管理NuGet包」
- 切换到「浏览」标签页,搜索
BCrypt.Net-Next - 选择最新稳定版点击安装,完成依赖引入
步骤2:生成密码哈希
BCrypt会自动生成随机盐并内置到最终的哈希字符串中,无需单独处理盐的存储:
' 先引入命名空间 Imports BCrypt.Net ' 生成哈希的示例方法 Public Function EncryptPassword(plainPassword As String) As String ' workFactor为工作因子,数值越高哈希破解难度越大,运算速度越慢,默认值为10 Return BCrypt.HashPassword(plainPassword, workFactor:=12) End Function
提示:生成的哈希字符串固定为60位,存储到数据库时建议将对应字段设置为
varchar(60)及以上长度,不要修改、截断哈希字符串的内容。
步骤3:校验密码
用户登录时将输入的明文密码和数据库存储的哈希值传入校验方法即可:
Public Function CheckPassword(inputPassword As String, storedHash As String) As Boolean Try Return BCrypt.Verify(inputPassword, storedHash) Catch ex As SaltParseException ' 捕获哈希格式错误的异常,返回校验失败 Return False End Try End Function
注意事项
- 生产环境的工作因子建议压测调整到单次哈希运算耗时100ms左右,兼顾安全性和用户体验
- 不要使用已停止维护的旧版
BCrypt.Net包,避免存在已知安全漏洞 - 无需额外对密码进行加盐、二次哈希等操作,BCrypt内部已经实现了对应的安全机制
内容的提问来源于stack exchange,提问作者Wirley Daviondyll G. Valdez
相关产品推荐
相关产品推荐

