如何打盐

时间:2016-01-19 04:22:26

标签: passwords password-encryption

我制作了一个注册表和登录表单和代码。 没关系。我这样写了我的密码:

public static function Hash($password) {
    $hash = "f6e649b8fc4c9e35eda6969660e36a2e";
    $crypt = md5($password . ($hash));

    return $crypt;
}

为什么要解密这个? 三江源;

1 个答案:

答案 0 :(得分:0)

这是一种非常不安全的哈希密码方式。盐是静态的,所以它不能满足其目的,MD5对于散列密码的速度太快(人们可以用普通硬件对100 Giga MD5 per second进行暴力破解)。

PHP为哈希密码提供了一种简单而安全的方法password_hash(),它可以处理所有棘手的部分,例如生成安全盐:

// Hash a new password for storing in the database.
// The function automatically generates a cryptographically safe salt.
$hashToStoreInDb = password_hash($password, PASSWORD_DEFAULT);

// Check if the hash of the entered login password, matches the stored hash.
// The salt and the cost factor will be extracted from $existingHashFromDb.
$isPasswordCorrect = password_verify($password, $existingHashFromDb);