时间:2021-05-26
这是我开发Worktile钉钉版本的时候遇到的当时感觉比较难的地方,现在写下来方法供大家学习交流
解密方法
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(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接入的加密解密方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
钉钉开通第三方加密服务方法。为了坚持更高效、更安全、更人性的移动办公方式,钉钉推出了“第三方加密服务”,将企业信息安全保护到别致。那么怎
阿里钉钉今日正式上线企业服务,将为通过合作接入的形式为钉钉用户企业提供商旅、订餐、用车、健康、社保等方面的服务。阿里旅行和饿了么等成为首批接入合作商。钉钉方面称
本文实例讲述了C#实现推送钉钉消息的方法。分享给大家供大家参考,具体如下:利用钉钉提供的API可以推送消息到用户的钉钉app。根据钉钉的官方文档,调用钉钉的ap
要用nodejs开发接口,实现远程调用,如果裸奔太危险了,就在网上找了一下nodejs的加密,感觉node-rsa挺不错的,下面来总结一下简单的rsa加密解密用
10月11日消息,据新浪科技报道,阿里钉钉今日正式上线企业服务,将为通过合作接入的形式为钉钉用户企业提供商旅、订餐、用车、健康、社保等方面的服务。阿里旅行和饿了