salt
在密码存储方面有什么更好的功能?
MD5:
$hash = md5($password . $salt);
Password_hash:
$hash = password_hash($password, PASSWORD_DEFAULT, $salt);
SHA1:
$result = sha1($salt.$string);
您绝对应该在不提供自己的salt:的情况下使用password_hash()函数
$hash = password_hash($password, PASSWORD_DEFAULT);
该函数将自行生成一个安全的盐。其他算法对散列密码来说太快了,因此可能太容易被暴力强制(大约每秒8千兆MD5)。
Salt在存储大量密码时非常有用,否则它们将毫无用处,因为它们是以明文存储的。如果攻击者设法获得了你的哈希密码,那么假设他们可以拿到你的盐。使用SHA-256,因为它是一个加密性很强的哈希函数,并使用salts。但最重要的是,只需使用强密码和强哈希算法。