我更喜欢使用crypt函数并使用blowfish加密,但此模块的当前实现使用散列函数,该函数不提供此加密方法。那么,Kohana的auth模块中最安全的算法是什么? SHA-512是一个不错的选择还是我最好修改模块以使用crypt和blowfish?
答案 0 :(得分:4)
从这个stackoverflow问题的答案: SHA512 vs. Blowfish and Bcrypt
应该说是否足够 bcrypt或SHA-512就足够了。和 答案是肯定的,无论算法是什么 足以保证发生违规行为 通过实施缺陷,而不是 密码分析
换句话说,使用Kohana中已有的强化实现与尝试修改模块并可能引入新的实现错误似乎更明智。
答案 1 :(得分:1)
看起来SHA-512是您的最佳选择。
总结来自danieltalsky答案的链接内容,SHA-512的坏处在于它的速度很快。这是一个很好的哈希值,但SHA-512的速度意味着拥有哈希密码副本的攻击者每秒可以进行更多的猜测。 bcrypt是一个慢得多的哈希值,因此测试每个密码的猜测需要更长的时间,因此找到用户的一个弱密码会更长。
你可以尝试在Kohana的auth模块中添加bcrypt或某种形式的拉伸,但是你可以更好地花时间确保服务器限制用户尝试登录的速度。