发表于 2017年11月29日 10时48分55秒
在处理钉钉isv的接入门槛那边卡了一晚上.果然还是太菜了.
仔细读了钉钉提供的php相关源码后总算解决了
msg_encrypt = Base64_Encode( AES_Encrypt[random(16B) + msg_len(4B) + msg + $key] )
AES加密的buf由16个字节的随机字符串、4个字节的msg长度、明文msg和$key组成。其中msg_len为msg的字节数,网络字节序;
$key对于ISV来说,填写对应的suitekey
$key对于普通企业开发,填写企业的Corpid
buf由16个字节的随机字符串: 直接SecureRandom.hex 8即可
4个字节的msg长度: 此处要使用ruby的pack方法用pack("N")把他打包成字节序.我就是在这部卡了导致一晚上钉钉那边不认我的消息
后面就没什么难度了.也是见识太少,知见障了.