【发布时间】:2011-08-10 15:01:55
【问题描述】:
我在其他文章中看到过此信息,但大多数都使用已知值(如用户名)进行加盐。如果joined 数据未在站点的任何位置公开,那么使用joined 日期时间(或joined 日期时间的MD5)对密码进行加盐是否是进一步保护凭据的安全方法?
提前致谢!
【问题讨论】:
我在其他文章中看到过此信息,但大多数都使用已知值(如用户名)进行加盐。如果joined 数据未在站点的任何位置公开,那么使用joined 日期时间(或joined 日期时间的MD5)对密码进行加盐是否是进一步保护凭据的安全方法?
提前致谢!
【问题讨论】:
用真正随机的盐代替盐。猜测基于日期的盐似乎有点太容易了,尤其是如果有人知道该人成为网站成员的时间。
你可以这样做:
$salt = substr(sha1(uniqid(mt_rand(), true)), 0, 16);
【讨论】:
我实际上做了这样的事情:
$password = mysqli_real_escape_string($connect, $_POST['password']);
$salt_shaker = bin2hex(mcrypt_create_iv(32, MCRYPT_DEV_URANDOM));
$salted = $password.$salt_shaker;
【讨论】: