开发者社区> 问答> 正文

有人碰到过钉钉事件回调的加解密吗?

有人碰到过钉钉事件回调的加解密吗?我调用的时候一直提示,aes_key 长度不合法1df6afa0aec496b633e3988bddbbd92b.png

展开
收起
多麻辣哦 2023-12-03 21:50:47 134 0
4 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在钉钉的事件回调中,aes_key是用于数据加密的关键,其长度固定为43个字符。这个字符可以从a-z, A-Z, 0-9共62个字符中选取,并需要进行Base64编码以形成AESKey。当您在使用的过程中遇到“aes_key 长度不合法”的提示,很可能是由于您提供的aes_key的长度并不符合钉钉的要求(43个字符)所致。为了解决这个问题,您可以重新设置并生成一个符合长度要求的aes_key

    2023-12-04 17:38:12
    赞同 展开评论 打赏
  • 在处理钉钉事件回调的加解密过程中,确实可能会遇到"aes_key 长度不合法"的问题。这通常是由于aesKey的长度不符合钉钉加密解密的要求。

    钉钉的加解密方案中,明文msg的加密过程包括一个16个字节的随机字符串、4个字节的msg长度、明文msg和$key。其中,$key需要根据不同情况进行填写:第三方企业应用时填写对应的suiteKey;企业定制应用时填写对应的customKey;而企业内部应用则填写企业的Corpid。

    实例化加解密类时,入参是token, aesKey, ownerKey(企业回调是corpId, 三方应用回调是suiteKey)。然后可以使用该类的getDecryptMsg方法来解密钉钉推送的数据。

    如果您在获取钉钉事件回调时遇到了问题,可以检查以下几点:

    1. 确保您的aesKey设置正确,符合钉钉的规定。
    2. 检查您的代码是否有误,特别是在使用加解密类时。
    3. 确保您正在处理的事件类型支持回调,并且已经正确配置了回调地址。
    2023-12-04 15:42:12
    赞同 展开评论 打赏
  • 回调事件消息体加解密https://open.dingtalk.com/document/orgapp/callback-event-message-body-encryption-and-decryption

    本文介绍了回调事件消息体的加密和解密。

    术语说明
    EncodingAESKey

    注册应用提供的数据加密密钥。用于消息体的加密,长度固定为43个字符,从a-z, A-Z, 0-9共62个字符中选取,是AESKey的Base64编码。解码后即为32字节长的AESKey。

    AESKey

    AESKey=Base64_Decode(EncodingAESKey + “=”),是AES算法的密钥,长度为32字节。AES采用CBC模式,数据采用PKCS#7填充;IV初始向量大小为16字节,取AESKey前16字节。具体详见:http://tools.ietf.org/html/rfc2315。

    msg为消息体明文,格式为JSON

    钉钉服务器会把msg消息体明文编码成encrypt,encrypt = Base64_Encode(AES_Encrypt[random(16B) + msg_len(4B) + msg + $key]),是对明文消息msg加密处理后的Base64编码。其中random为16字节的随机字符串;msg_len为4字节的msg长度,网络字节序;msg为消息体明文;

    2023-12-04 09:36:31
    赞同 展开评论 打赏
  • 可能就是你配置的不对吧,看下链接:
    https://blog.csdn.net/m0_38002193/article/details/119108248?spm=1001.2014.3001.5501
    ——此回答整理自钉群:钉钉开发者社区(互助群)

    2023-12-04 09:36:32
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
钉钉小程序——为工作方式插上翅膀 立即下载
钉钉客户端自动化的应用 立即下载
使命必达 —— 钉钉企业级 消息服务的机遇与挑战 立即下载