加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – bcrypt / Bcrypt.net实力和替代品

发布时间:2020-12-16 06:26:59 所属栏目:asp.Net 来源:网络整理
导读:经过大量的研究后,我已经决定使用bcrypt(随意评论)在我的phonegap应用程序中散列和存储密码. 几天前,我偶然发现了Bcrypt.net,这对我来说似乎“足够好”(再次,请随意发表评论).那么,我的问题是C#中有哪些其他替代实现的bcrypt?在Bcrypt.net的实施中是否有任
经过大量的研究后,我已经决定使用bcrypt(随意评论)在我的phonegap应用程序中散列和存储密码.

几天前,我偶然发现了Bcrypt.net,这对我来说似乎“足够好”(再次,请随意发表评论).那么,我的问题是C#中有哪些其他替代实现的bcrypt?在Bcrypt.net的实施中是否有任何严重的缺陷?

我的安全模型基本上看起来像这样:

>用户在客户端输入他的PIN /密码/密码
>这是通过安全SSL发送到我的.net应用程序(因此基本上从客户端发送明文)
>使用像bcrypt.net这样的库来散列密码并进行存储/比较

还有什么我真的需要考虑吗?

任何帮助将不胜感激.

解决方法

很高兴看到有人在这里做了一些研究.

我没有看到你不应该使用bcrypt的任何好理由.通常,在服务器上使用bcrypt,PBKDF2或scrypt来提供良好的安全层.

一如既往,魔鬼在细节中.您当然需要SSL,如果可能的话,使用AES加密的TLS 1.2.如果您不能这样做,请确保您在连接中不允许使用必要的用户名/密码HTML.

您应该对密码的字符编码做出决定.我会建议UTF-8,可能缩小到可打印的ASCII字符.要么记录使用的字符编码,要么将其存储在配置中的某个位置.

尝试将所有输入参数与“哈希”密码一起存储到bcrypt.当然不要忘记迭代计数.当用户稍后输入他/她的密码时,这使得更容易升级到更高的迭代次数.您需要生成一个8-16字节的安全随机盐来存储密码.

此外,您可能希望将额外的KBKDF(基于密钥的密钥派生方案)应用于上述任何PBKDF的输出.这使得可以将bcyrpt的输出用于附加键等.KBKDF对具有足够熵的数据进行处理,因此通常它们花费很少时间(例如,使用NIST SP 800-108兼容计数器模式KDF).我想这应该被认为是“专家模式”.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读