node.js如何减少PHP MD5加密 [英] node.js how to repreduce PHP MD5 encryption

查看:75
本文介绍了node.js如何减少PHP MD5加密的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm converting an existing php based website to a node.js app, and I need to reproduce this encryption method from php to 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));
}

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

So far I've tried this but it does not return the same results:

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

as file: hash.js

这些代码作为hash.php:

And as hash.php these code:

<?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

both: 3cbd1242e8e510a16f39d7e0bfd18a0e03d0de3f

这篇关于node.js如何减少PHP MD5加密的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆