首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >node.js如何还原PHP MD5加密

node.js如何还原PHP MD5加密
EN

Stack Overflow用户
提问于 2015-04-01 12:07:05
回答 5查看 4.6K关注 0票数 4

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

代码语言:javascript
复制
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));
}

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

代码语言:javascript
复制
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;
};
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-04-23 14:43:35

请试试看:

代码语言:javascript
复制
    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);

as文件: hash.js

作为hash.php,这些代码:

代码语言:javascript
复制
<?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

我的研究结果:

均:3 cbd1242e8e510a16f39d7e0bfd18a0e03d0de3f

票数 3
EN

Stack Overflow用户

发布于 2015-05-13 09:44:05

php:

代码语言:javascript
复制
$a = 'a';
$b = 'b';
echo md5($a.$b);

等于node.js:

代码语言:javascript
复制
var crypto = require('crypto');
var a = 'b', b = 'b';
var md5 = crypto.createHash('md5');
md5.update(xml, 'utf8');
md5.update(config.secret, 'utf8');
console.log(md5.digest('hex'));
票数 1
EN

Stack Overflow用户

发布于 2015-04-01 12:30:20

使用密码模块试试这个:

代码语言:javascript
复制
var crypto = require('crypto');

UserSchema.methods.hashPassword = function(password) {
    var salt = 'd2g6IOP(U(&§)%U§VUIPU(HN%V/§§URerjh0ürfqw4zoöqe54gß0äQ"LOU$3wer';
    var hashStr = password + salt;
    var md5Hash = crypto.createHash('md5').update(hashStr).digest('hex');
    var sha1 = crypto.createHash('sha1').update(md5Hash).digest('hex');
    console.log(sha1); 
    return sha1;
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29390385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档