Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从NodeJS中的hmacsha1生成NodeJS签名代码_Javascript_Node.js_Sha1_Hmacsha1 - Fatal编程技术网

Javascript 如何从NodeJS中的hmacsha1生成NodeJS签名代码

Javascript 如何从NodeJS中的hmacsha1生成NodeJS签名代码,javascript,node.js,sha1,hmacsha1,Javascript,Node.js,Sha1,Hmacsha1,当我请求函数生成签名时,时间戳和设备id总是会改变,但签名哈希仍然是 ea6b458e9a840b7f93236244bf1ea7cb564a8f08 这是一个哈希速率代码 let array=[登录类型、设备id、时间戳]; 让hash=crypto.createHmac('sha1',secret_key.).update(内爆(数组,“|”).digest('hex') 生成的哈希值始终为ea6b458e9a840b7f93236244bf1ea7cb564a8f08 JavaScript

当我请求函数生成签名时,时间戳和设备id总是会改变,但签名哈希仍然是

ea6b458e9a840b7f93236244bf1ea7cb564a8f08

这是一个哈希速率代码

let array=[登录类型、设备id、时间戳];
让hash=crypto.createHmac('sha1',secret_key.).update(内爆(数组,“|”).digest('hex')

生成的哈希值始终为ea6b458e9a840b7f93236244bf1ea7cb564a8f08

JavaScript中没有“内爆”函数;其等价物是在数组上使用
join

const crypto = require('crypto');

function timeMil(){
   return new Date().getTime();
}

const login_type = 'test';
const device_id = "2752707c1c745ff8";
const secret_key = "9LXAVCxcITaABNK48pAVgc4muuTNJ4enIKS5YzKyGZ";
const timestamp = timeMil();

let array = [login_type, device_id, timestamp];
let hash = crypto.createHmac('sha1', secret_key).update(array.join("|")).digest('hex');

console.log(hash);

非常感谢。解决了的
const crypto = require('crypto');

function timeMil(){
   return new Date().getTime();
}

const login_type = 'test';
const device_id = "2752707c1c745ff8";
const secret_key = "9LXAVCxcITaABNK48pAVgc4muuTNJ4enIKS5YzKyGZ";
const timestamp = timeMil();

let array = [login_type, device_id, timestamp];
let hash = crypto.createHmac('sha1', secret_key).update(array.join("|")).digest('hex');

console.log(hash);