【发布时间】:2010-12-22 22:22:22
【问题描述】:
我需要在 .Net WinForms 应用程序中存储单个密码的哈希值。
最安全的方法是什么?
特别是:
- 盐、HMAC 还是两者都有?
- 多少盐?
- 多少次迭代?
- 什么编码? (密码是纯ASCII)
我假设算法应该是 SHA512 或 HMACSHA512。
【问题讨论】:
-
无法提供最安全的建议(尽管这是您真正想走多远的问题),但请确保它绝对是真正的单向哈希并且足够安全,即使您即使您需要非常努力也无法获得密码。例如如果有大客户臭味或要求获取密码。
-
我假设 SHA512 是安全哈希。
-
我认为“最安全”并不是真正合适的问题。这是一个基于保护数据的重要性在安全性、复杂性和用户便利性之间找到平衡的问题。我们是在谈论保护银行帐号或视频游戏分数吗?可能的攻击者是脚本小子还是 NSA?
-
@Tim:用户方便不是一个因素。我会有密码;我只是在问最好的方法来散列它。
标签: .net security passwords hash