php - 使用 MD5 和 SHA-1 进行双重哈希

标签 php mysql sql hash

以下代码创建一个 MD5散列然后用 SHA-1 再次散列它– 这安全吗?

$user = $_POST['username'];
$username = mysqli_real_escape_string($mysqli, $user);
$pass = md5($_POST['password']);
$password = sha1($pass);

这会增加碰撞的可能性吗?
是否有任何其他方法可以散列并非常快速地处理密码?

最佳答案

与单一哈希相比没有实际优势。

请注意,MD5 现在被认为已损坏,因为它容易受到许多实际攻击,并且不建议将 SHA1 等算法用于密码哈希。

有专门为密码散列设计的算法,例如 PBKDF2。您应该使用 PBKDF2 作为您的散列 - 请参阅 this question on security.stackexchange.com. .

关于php - 使用 MD5 和 SHA-1 进行双重哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22030282/

相关文章:

php - CouchBase 异常。文档被篡改

php - 使用预定义模式匹配号码

MySQL 计数???帮助查询

mysql - 优化 MySQL 中的多个 JOIN

sql - 从Oracle数据库获取所有建表脚本

sql - 我应该在数据库模式中允许空值吗?

php - 如何将 PDO 用于特定于数据库的功能?

PHP 调用构造函数的参数多于指定的参数

php - 使用 between、min 和 max 的问题

php - 如何在 mysql 中插入用户 ID 和状态