asp.net – bcrypt / Bcrypt.net实力和替代品
经过大量的研究后,我已经决定使用bcrypt(随意评论)在我的phonegap应用程序中散列和存储密码.
几天前,我偶然发现了Bcrypt.net,这对我来说似乎“足够好”(再次,请随意发表评论).那么,我的问题是C#中有哪些其他替代实现的bcrypt?在Bcrypt.net的实施中是否有任何严重的缺陷? 我的安全模型基本上看起来像这样: >用户在客户端输入他的PIN /密码/密码 还有什么我真的需要考虑吗? 任何帮助将不胜感激. 解决方法
很高兴看到有人在这里做了一些研究.
我没有看到你不应该使用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).我想这应该被认为是“专家模式”. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 在MVC3中使用Workflow Foundation来处理页面
- asp.net-mvc – 如何在MVC WebGrid中显示行号
- ASP.NET表单身份验证 – 在调试时使用测试帐户自动登录?
- IIS 7中的虚拟目录ASP.NET网站的配置错误
- asp.net-mvc-3 – 模型绑定器究竟做了什么?如何有效地使用
- asp.net-mvc-2 – MVC2:具有两个字段依赖性的验证(数据注释
- asp.net-mvc – 传递参数到我的部分视图?
- asp.net-mvc-3 – ASP.NET MVC 3一对多无法更新桥表
- asp.net-mvc – 如何在一个视图中使用两个IENumerable模型
- asp.net – 如何在Azure网站上设置machineKey
- 当验证失败时,ASP.NET MVC如何在表单中重新填充值
- asp.net – 我有多个用户,我可以锁定网页,以便一
- asp.net-mvc – 如何手动创建简单的成员资格sql表
- asp.net – 使用umbraco的iis应用程序池使用过多
- asp.net – 在运行时以编程方式将值添加到下拉列
- asp.net-mvc – MultiSelect jqgrid MVC3的OnCli
- asp.net-mvc – 使用来自MVC的SAML和Okta进行身份
- asp.net – 单元测试http处理程序?
- asp.net-mvc – 如果我使用ASP .NET MVC 3,我可以
- asp.net-core-mvc – ASP.NET Core MVC控制器在单