好吧我正在尝试用C#登录我的网站,它有md5 +盐..问题是盐。 md5我可以上班,但盐就行不通。我创建了一个获取用户名,用户组ID等的php。我已经删除了数据库中的大量盐实例,它或者破坏了登录,或者什么也没做。我想知道是否有一种简单的方法可以去除盐?
答案 0 :(得分:2)
您认为盐的目的是什么?如果您可以轻松删除它,那么添加它的原因是什么?您应该花几分钟时间阅读有关password hashing的教程。
MD5不是哈希密码的合适选择,因为它太快了。现在可以使用通用硬件计算每秒8 Giga MD5值,这使得暴力破解变得太容易了。而是使用像BCrypt或PBKDF2这样的慢键派生函数。
要回答您的问题,您需要存储的盐来验证用户输入的密码。如果用户输入登录密码,则使用与计算数据库中存储密码相同的盐计算哈希值,然后可以比较哈希值。