美文网首页Web前端之路HTML5
微信企业号文档坑

微信企业号文档坑

作者: 高小震 | 来源:发表于2019-08-13 15:44 被阅读4次

1. 签名加密对比

sha1(sort(token、timestamp、nonce、msg_encrypt))
sort表示的是这四个所对应的值的排序,而非K排序,排序结果和签名作对比
golang 例子:

func getSign(array ...string)  string{
  strs:=array[:]
  sort.Strings(strs)
  signStr:=strings.Join(strs,"")
  sn:=sha1.New()
  sn.Write([]byte(signStr))
  signData:=sn.Sum(nil)
  return fmt.Sprintf("%+x",signData)
}

2. aes key:

需要将aesKey进行解密,解密是需要在原EncodingAESKey后增加=,然后在将aes作base64解密
注意:解密结果不需要转换成字符串

3. aes加密方式:

aes-cbc加密方式,作pksc7解包,iv为key的前十六位
go 例子:

func AesDecrypt(src, key []byte) (dst []byte, err error) {
    block, err := aes.NewCipher(key)
    if err != nil {
        return nil, err
    }
    iv := make([]byte, aes.BlockSize)
    if _, err := io.ReadFull(rand.Reader, iv); err != nil {
        return nil, err
    }
    dst = make([]byte, len(src))
    cipher.NewCBCDecrypter(block, iv).CryptBlocks(dst, src)

    return PKCS7UnPad(dst), nil
}

// PKCS7UnPad PKSC#7解包
func PKCS7UnPad(msg []byte) []byte {
    length := len(msg)
    padlen := int(msg[length-1])
    return msg[:length-padlen]
}

参考

微信企业号api
go sdk

相关文章

  • 微信企业号文档坑

    1. 签名加密对比 sha1(sort(token、timestamp、nonce、msg_encrypt))so...

  • ionic2实战-开发微信公众号

    微信的各种号 微信公众平台有4个号,服务号,订阅号,企业号和小程序 服务号,订阅号,企业号这三个号的配置和开发文档...

  • 企业微信微文档使用记录

    企业微信微文档使用记录 微文档简介 微文档是企业微信推出的在线文档和表格。你可以用微文档来完成个人创作,或与同事共...

  • 2017-08-28

    微信现在怎么了?企业微信和微信企业号,不只名称混乱,而且开发文档混乱。开发者论坛无法登录,寻求客服帮无果,客服很不...

  • 2020-12-11

    微信公众号跳转小程序所遇坑 根据微信开发者文档,满足以下条件就可以从网页公众号跳转指定小程序 微信版本要求为:7....

  • 2018-01-15

    微信公众号支付的进坑之路,希望能初次开发的朋友们少点弯路 本人初次开发微信公众号支付,看官方文档,网上查找相关资料...

  • 企业号新手指引

    企业号新手指引欢迎使用企业号,本文档将介绍如何开启企业号之旅,让你的游历更加轻松。 1.需更新微信至5.4以上版本...

  • 微信公众号支付

    微信支付的文档和SDK容易带新人入坑,作为坑中的过来人写点爬坑经验吧。 之前做过很多次公众号支付,但是基本...

  • 企业微信 Teambition 「任务」应用上线

    随着企业微信 2.0 版本的升级,企业微信与微信企业号产品进行了合并,新的企业微信将继承企业号的所有能力,同时可以...

  • Python牛逼:利用微信公众号报警功能

    微信公众号共有三种,服务号、订阅号、企业号。它们在获取AccessToken上各有不同。 其中订阅号比较坑,它的A...

网友评论

    本文标题:微信企业号文档坑

    本文链接:https://www.haomeiwen.com/subject/jwfbjctx.html