用户密码盐的最佳长度是多少?

盐分和哈希用户密码时,任何盐分都显然会有所帮助。是否有关于盐应保留多长时间的最佳实践?我将盐存储在用户表中,因此我希望在存储大小和安全性之间取得最佳平衡。随机添加10个字符的盐就足够了吗?还是我需要更长的时间?


HUX布斯
浏览 1276回答 3
3回答

明月笑刀无情

我下面的答案按要求回答问题,但“真正的”答案是:只需使用bcrypt,scrypt或Argon2即可。如果您要问这样的问题,那么几乎可以肯定您使用的工具水平太低。老实说,没有合理的理由不让盐与哈希密码具有相同的长度。如果您使用的是SHA-256,则有256位的哈希值。没有理由不使用256位盐。从数学上讲,超过256位不会使您的安全性得到任何改善。但是,使用较短的盐可能总是会遇到彩虹桌赶上您的盐长度的情况,尤其是较短的盐时。

aluckdog

在Linux,BSD Unix和Solaris中使用的SHA2-crypt和bcrypt方法具有128位的盐。这些较大的盐值使得在可预见的将来,针对这些系统的几乎所有长度的密码都无法进行预计算攻击。128位(16字节)盐就足够了。您可以将其表示为128 / 4 = 32十六进制数字序列。
打开App,查看更多内容
随时随地看视频慕课网APP