使用JavaScript制作MD5原始文件 [英] Make MD5 raw in JavaScript

查看:117
本文介绍了使用JavaScript制作MD5原始文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在将PHP代码转换为Node JS.我遇到的MD5二进制原始文件是MD5('String',true),并且正在获取�S���<]zVC..zv��.我已经在Node.js中尝试过,但是在Node js上却没有得到相同的字符串.

I am converting PHP code to Node JS. I am facing a issue with MD5 binary raw that is MD5('String',true) and getting �S���<]zVC..zv�� . I have tried in Node.js but I am not getting same string on Node js.

这是我的代码:

var md5 = require('md5');
var requestArray = [{
    "fname": "mobilenumber",
    "fvalue": '1234568970'
}, {
    "fname": "phone",
    "fvalue": '000000000'
}];

var post_data  = JSON.stringify(requestArray);
var m = md5(post_data);

我试图传递true参数,但是它不起作用.

I have tried to pass true parameter but it's not working.

推荐答案

由于您已经拥有十六进制,只需使用

since you already have the hex, just use a hex2bin function,

var m = hex2bin(md5(post_data)); 

/

function hex2bin (s) {
  //  discuss at: http://locutus.io/php/hex2bin/
  // original by: Dumitru Uzun (http://duzun.me)
  //   example 1: hex2bin('44696d61')
  //   returns 1: 'Dima'
  //   example 2: hex2bin('00')
  //   returns 2: '\x00'
  //   example 3: hex2bin('2f1q')
  //   returns 3: false

  var ret = []
  var i = 0
  var l

  s += ''

  for (l = s.length; i < l; i += 2) {
    var c = parseInt(s.substr(i, 1), 16)
    var k = parseInt(s.substr(i + 1, 1), 16)
    if (isNaN(c) || isNaN(k)) return false
    ret.push((c << 4) | k)
  }

  return String.fromCharCode.apply(String, ret)
}

这篇关于使用JavaScript制作MD5原始文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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