收藏
回答

商家转账到零钱V3版本,收款用户姓名RSAES-OAEP加密问题

接口文档地址:https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter4_3_1.shtml

该文档的user_name加密示例值如上图所示,但实际使用SDK进行加密时,得出的加密结果如下面所示:

C/8YVVhfubGdu6Zz47Dnj+p7+PY2SD9iMoozuzUaun+kpMR0WmPugAKfSdvL+HYhWnxX1XwLEPe+9xxxkIfiklcs3wkZe5t1WI84qYK1mWYcpoWhRZx49sZ+8LpvnVz78iFFJb2Mjmf2YtpRlzq5p3mkfsO+aKt5cUIJT0PkueM3L1QvWW0furlZq9GyEt8pI187+spOaZ4YMNW3fXP4Zi+4YWZsgGBu0lb1bKB+kqe4y5L4N1ndtQ+ftYHzV3AWvRJmYLdsLc+FA5fpGcMw8gWZOPAJZQOGz6oi545gNV+OpKJTzD0ldbTx0MxbS30xzIXKVtQmOUtvKWTHJzOf7w==

无论使用GO或JAVA或PHP,得出的加密结果长度比较长,跟文档示例相差太大,帮忙看下问题出在哪里?谢谢


附:如果使用这种加密结果发起转账时,会提示如下错误:

encrypt request failed: encrypt struct failed: encrypt message with public key err:crypto/rsa: message too long for RSA public key size





最后一次编辑于  2022-08-18
回答关注问题邀请回答
收藏

4 个回答

  • DH
    DH
    2023-07-10

    微信自己提供的api接口有加密功能,传明文即可

    2023-07-10
    有用
    回复
  • Mr.ice
    Mr.ice
    2023-02-23

    解决了吗?我也遇到了这个问题,求解

    2023-02-23
    有用
    回复 1
    • Y
      Y
      2023-11-16
      我也是 最后怎么解决的
      2023-11-16
      回复
  • 佳峰。
    佳峰。
    2022-09-06

    你好,请问下这个问题怎么解决的?

    2022-09-06
    有用
    回复
  • Memory (私信不回复)
    Memory (私信不回复)
    2022-08-18

    你用的哪个证书加密的?示例值只是随便打的一个数字

    2022-08-18
    有用
    回复 4
    • Noah
      Noah
      2022-08-19
      https://pay.weixin.qq.com/wiki/doc/apiv3/apis/wechatpay5_1.shtml
      证书是通过以上文档接口获取的。


      有同学实践过吗,加密后的长度确实是这么长吗,如果是,那以下的错误提示才是我的问题所在了
      encrypt request failed: encrypt struct failed: encrypt message with public key err:crypto/rsa: message too long for RSA public key size
      2022-08-19
      回复
    • Memory (私信不回复)
      Memory (私信不回复)
      2022-08-20回复Noah
      这个报错并非是微信的报错,百度搜一下too long for RSA public key size 有很多解决方案
      2022-08-20
      回复
    • 小彭友
      小彭友
      2022-09-30
      能提供一个解决too long for RSA public key size的demo么,java语言的
      2022-09-30
      回复
    • Memory (私信不回复)
      Memory (私信不回复)
      2022-10-07回复小彭友
      证书里含publickey,你直接读的证书?如果直接扔给java读publickey的函数,可能就爆了,你可以参考默认提供的支付sdk
      2022-10-07
      回复
登录 后发表内容