可能重复:
What is the optimal length for user password salt?我的密码盐应该多大?
我有一个数据库,如下图所示:
create table user (id int primary key auto increment,
username varchar(64),
password varchar(128), # sha512 hash of password
password_salt varchar(128) # sha512 hash of a random number used as salt
)
这是为了保证与盐的密码安全是一个好主意?盐应该多久?我认为它有一个128位(SHA-512)盐不会伤害,但我以前错了。
散列盐不会增加安全性。重要的是盐值的总数,并且它们具有统一的分布。 – outis
SHA-512生成一个512位(64字节)的值。如果你有一个很好的随机数,你不需要散列它。使用512位的盐将提供良好的保护,但您可能会发现即使是64位也足够了。 –
@outis'password = sha512(raw_password + sha512(random_number_between_zero_and_a_billion()))' –