过渡密码哈希算法

时间:2018-06-28 22:19:42

标签: javascript php hash

我用PhP编写了一个带有后端的应用程序,并得到了一些用户。它们都具有密码,每次使用“ PASSWORD_DEFAULT”时,都会使用PhP的crypt函数对密码进行哈希处理,并添加相同的符号。

现在,因为该代码非常糟糕,所以我正在过渡到JavaScript,在这里我使用带有随机生成的盐的bcrypt节点模块来哈希密码。

我想知道,有什么方法可以保存旧用户的登录名,即使使用新的哈希值也可以使它们有效,或者它们永远消失了?

编辑代码:

旧的PhP代码:

$stmt = $this->db->prepare(
        "INSERT INTO USERS (deviceID, latitude, longitude, username, password, date_reg) VALUES (?, ?, ?, ?, ?, CURDATE());");
        $stmt->bind_param("sddss", $deviceID, $rounded_down_lat, $rounded_down_long, $username, crypt($password, "PASSWORD_DEFAULT"));

新的JavaScript / Node.js代码:

    add_user(deviceID, username, unencrypt_password, latitude, longitude, dob, gender) {
        latitude = latitude - latitude % process.env.ERR_RANGE + Number(process.env.ERR_RANGE);
        longitude = longitude - longitude % process.env.ERR_RANGE + Number(process.env.ERR_RANGE);
        var salt = bcrypt.genSaltSync(saltRounds);
        var password = bcrypt.hashSync(unencrypt_password, salt);
        var add_user_query = mysql.format(add_user_sql, [deviceID, latitude, longitude, username, password, salt, new Date(), dob, gender]);
        ...
    }

0 个答案:

没有答案