温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

nodejs如何实现钉钉ISV接入的加密解密方法

发布时间:2021-05-21 14:17:48 来源:亿速云 阅读:236 作者:小新 栏目:web开发

这篇文章主要介绍了nodejs如何实现钉钉ISV接入的加密解密方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

解密方法

exports.decryptMsg = function (text) {  var aes_msg_buffer = new Buffer(text, 'base64');  var key = new Buffer(aes_key + "=", 'base64');  var iv = key.slice(0, 16);  var decipher = crypto.createDecipheriv('aes-256-cbc', key, iv);  var dec = decipher.write(aes_msg_buffer);  dec = decipher.read();  var msg_leng_buffer = dec.slice(16, 20);  var msg_length = msg_leng_buffer.readInt32BE();  var rand_buffer = dec.slice(20, 20 + msg_length);  var msg = rand_buffer.toString("utf-8");  var result = JSON.parse(msg);  return result; };

加密方法

exports.encrypt_text = function (text, aes_key, suiteKey) {  var key = new Buffer(aes_key + "=", 'base64');  var iv = key.slice(0, 16);  var random_buffer = new Buffer(exports.getRandomStr(16), 'utf-8');  var buffer = new Buffer(text, 'utf-8');  var length_buffer = new Buffer(4);  length_buffer.writeUInt32BE(buffer.length, 0);  var corpidBytes = new Buffer(suiteKey, 'utf-8');  var newBuffer = Buffer.concat([random_buffer, length_buffer, buffer, corpidBytes]);  var cipher = crypto.createCipheriv('aes-256-cbc', key, iv);  //cipher.write(newBuffer);  //var dec = cipher.read();  var cipheredMsg = Buffer.concat([cipher.update(/*encoded*/newBuffer), cipher.final()]);  return cipheredMsg.toString('base64'); };

签名方法

var arr =[token, timestamp, nonce, res_encrypt] //token 是配置钉钉套件的token,timestamp时间戳, nonce随机字符串, res_encrypt是上面加密后的结果 exports.signature_arr = function (arr) {  arr.sort();  var str = "";  for (var i = 0; i < arr.length; i++) {   str += arr[i];  }  var sha1 = crypto.createHash('sha1');  sha1.update(str);  var msg_signature = sha1.digest('hex');  return msg_signature; };

感谢你能够认真阅读完这篇文章,希望小编分享的“nodejs如何实现钉钉ISV接入的加密解密方法”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI