一種生成動態口令的方法
阿新 • • 發佈:2018-05-10
JavaScript 動態口令 'use strict'
let MD5 = require('blueimp-md5');
let UUIDv1 = require('uuid/v1');
const T = 30;
let secret = 'cae99b50-c9cf-11e7-869b-9f9630b0f6a1'; //UUIDv1();
let timestamp = parseInt(Date.now() / 1000, 10);
timestamp = timestamp - timestamp % T;
let digest = MD5(timestamp.toString() + secret.toString()).toLowerCase();
let w = [
Buffer.from(digest.substr(0, 5)),
Buffer.from(digest.substr(5, 5)),
Buffer.from(digest.substr(10, 5)),
Buffer.from(digest.substr(15, 5)),
Buffer.from(digest.substr(20, 5)),
Buffer.from(digest.substr(25, 7))
];
let code = '';for (let i =0; i < w.length; i++) {
let sum = 0;
for (let j = 0; j < w[i].length; j++) {
sum += w[i][j];
}
code += (sum % 10).toString();
}
console.log(code);
一種生成動態口令的方法