ASP Classic中密码的推荐哈希值

Cor*_*use 4 security hash asp-classic

ASP Classic中密码的最慢(因此最好)哈​​希算法是什么?

编辑:对于那些不知道的人,当哈希密码时,较慢的哈希值更快,以帮助减缓彩虹表式攻击.

EDIT2:是的,当然速度并不是哈希选择的唯一有效问题.我的问题假设所有其他条件相同,在散列密码时首选最慢的哈希方法.虽然碰撞/逆向工程当然也是一个问题,但我在这个问题中优先考虑速度,因为它可以说是比较流行的哈希算法用于密码时最关键的考虑因素.

谢谢!

ine*_*ine 12

很多人似乎都在喋喋不休地问问题,因为他正在寻找缓慢的哈希函数.实际上,在所有其他方面相同的情况下,较慢的散列函数比较快的散列函数更安全.这是因为较慢的散列函数导致彩虹表的生成较慢,并且对密码的暴力强制或字典攻击较慢.

来自Thomas Ptacek的http://www.securityfocus.com/blogs/262,正如本编码恐怖文章所述:

问题是MD5很快.它的现代竞争对手也是如此,例如SHA1和SHA256.速度是现代安全散列的设计目标,因为散列几乎是每个密码系统的构建块,并且通常在每个数据包或每个消息的基础上执行需求.

速度正是您在密码散列函数中不想要的.

现代密码方案受到增量密码破解程序的攻击.

增量破解程序不会预先计算所有可能的破解密码.他们分别考虑每个密码哈希,并且他们通过密码哈希函数提供他们的字典,就像你的PHP登录页面一样.像Ophcrack这样的彩虹表饼干使用空间来攻击密码; John the Ripper,Crack和LC5等增量破解程序与时间一起工作:统计和计算.

密码攻击游戏在破解密码X时得分.对于彩虹表,该时间取决于您的表需要多大以及搜索速度有多快.对于增量破解程序,时间取决于您运行密码哈希函数的速度.

您可以更好地优化密码哈希函数,密码哈希函数获得的速度越快,您的方案就越弱.MD5和SHA1,甚至像DES这样的传统分组密码都设计得很快.MD5,SHA1和DES是弱密码哈希值.在现代CPU上,DES和MD5等原始加密构建块可以进行bitliced,矢量化和并行化,以便快速进行密码搜索.游戏结束FPGA实现仅花费数百美元.

关于PHP MD5文档的一些评论也讨论了对缓慢的偏好.

要回答你的问题,看起来像BCrypt是要走的路.但是,我还没有找到ASP Classic的任何实现.如果这是真的,我会坚持像SHA512这样的常规哈希函数.


Jon*_*eet 5

我会忽略缓慢的部分,而是去寻找"好"部分.

我建议你使用带盐的SHA-512来打败字典和彩虹表攻击.我不相信SHA-512存在任何已知的漏洞.

  • Downvoters:请添加评论,否则投票相对无用. (5认同)