【发布时间】:2023-04-08 23:13:01
【问题描述】:
我正在寻找一种方法来加密数据库中的密码。
我在这里发现了一个与我类似的问题: How do I create and store md5 passwords in mysql
但我不知道盐是什么?我是否需要在用户和密码列旁边的表格中添加,我应该给它什么数据类型?
$escapedName = mysql_real_escape_string($_POST['name']); # use whatever escaping function your db requires this is very important.
$escapedPW = mysql_real_escape_string($_POST['password']);
# generate a random salt to use for this account
$salt = bin2hex(mcrypt_create_iv(32, MCRYPT_DEV_URANDOM));
$saltedPW = $escapedPW . $salt;
$hashedPW = hash('sha256', $saltedPW);
$query = "insert into user (name, password, salt) values ('$escapedName', '$hashedPW', '$salt'); ";
【问题讨论】:
-
通常你不存储加密密码,你散列密码。