密码存储架构和身份验证声音?
我们正在实施一个新的电子商务平台,我们希望确保不犯安全部门可以避免的错误。
这次,我研究了密码存储和散列。我们目前所做的:
我们生成 0-36 和 125-255 范围内的 8 到 16 个随机字节,使用它作为密码的盐,然后对其进行 SHA512 100k 次。然后我们将密码和盐存储在用户帐户中。
解决方案是使用 C#。对于盐输入的随机化需要添加什么吗?或者我们错过了一些关键的事情?
we're implementing a new ecommerce platform, and we want to make sure not to make mistakes that can be avoided in the security department.
This time, I took a look at the password storing and hashing. What we currently do:
We generate 8 to 16 random bytes from 0-36 and 125-255 range, use this as a salt into the password, then SHA512 it 100k times. Then we store password and salt in the user account.
The solution is in C#. Anything to add for the randomization of the salt input? Or did we miss something critical?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请不要自己发明 - 有经过验证的标准方法可以这样做(包括多次散列等),请参见例如 http://en.wikipedia.org/wiki/PBKDF2 和 http://msdn.microsoft.com/en-us/library /system.security.cryptography.rfc2898derivebytes.aspx
Please don't invent yourself - there are proven standard methods to do so (including hashing several times etc.), see for example http://en.wikipedia.org/wiki/PBKDF2 and http://msdn.microsoft.com/en-us/library/system.security.cryptography.rfc2898derivebytes.aspx