编程语言
首页 > 编程语言> > node.js如何减少PHP MD5加密

node.js如何减少PHP MD5加密

作者:互联网

我正在将现有的基于php的网站转换为node.js应用程序,我需要将此加密方法从php复制到js.

private static $_passwordSalt = 'd2g6IOP(U(&§)%U§VUIPU(HN%V/§§URerjh0ürfqw4zoöqe54gß0äQ"LOU$3wer';
public static function getCryptedPassword($password = 'password') {
    return sha1(md5(self::$_passwordSalt.$password));
}

到目前为止,我已经尝试过了,但是没有返回相同的结果:

UserSchema.methods.hashPassword = function(password) {
        var salt = 'd2g6IOP(U(&§)%U§VUIPU(HN%V/§§URerjh0ürfqw4zoöqe54gß0äQ"LOU$3wer'
        var md5Hash = md5(password + salt);
        var hash = sha1(md5Hash);
        return hash;
};

解决方法:

请尝试以下方法:

    var crypto = require('crypto');
var salt = 'd2g6IOP(U(&§)%U§VUIPU(HN%V/§§URerjh0ürfqw4zoöqe54gß0äQ"LOU$3wer'
var password = 'pass';

var hashMd5 = crypto.createHash('md5').update(salt + password).digest("hex");
var hasSha1 = crypto.createHash('sha1').update(hasMd5).digest("hex");
console.log(hashSha1);

作为文件:hash.js

并将这些代码作为hash.php:

<?php

$_passwordSalt = 'd2g6IOP(U(&§)%U§VUIPU(HN%V/§§URerjh0ürfqw4zoöqe54gß0äQ"LOU$3wer';
$password = 'pass';

//echo md5("phinware");
echo sha1(md5($_passwordSalt.$password));
echo "\n";

然后执行两个文件:

>> PHP hash.php
>>节点hash.js

我的结果:

两者:3cbd1242e8e510a16f39d7e0bfd18a0e03d0de3f

标签:password-encryption,node-js,md5,salt,php
来源: https://codeday.me/bug/20191028/1952960.html