java微信小程序用户信息解密遇见“javax.crypto.IllegalBlockSizeException: last block incomplete in decryption”报错

这篇具有很好参考价值的文章主要介绍了java微信小程序用户信息解密遇见“javax.crypto.IllegalBlockSizeException: last block incomplete in decryption”报错。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题:

在微信小程序获取到   encryptedData,  sessionKey,    iv  后,对获取到的用户信息进行解密的时候出现“javax.crypto.IllegalBlockSizeException: last block incomplete in decryption”的错误

解决:

1.(无用的操作)首先在网上搜,基本没有什么有用的回答,基本上都回答说传的数据有问题,微信传输的数据不太可能出问题

2.(无用的操作)还有的说是jre虚拟机中的解密算法不对,需要在我们的jdk中添加两个jar包,我当时深信是这个问题,但经过一系列的操作之后,将两个jar包导入后java直接运行不起来了,然后看网上说只有“java.security.InvalidKeyException Illegal key size”这个问题才是jdk的问题,直接pass

3.(解决)我们前端获取到的 encryptedData,  sessionKey,    iv 这三个数据是没问题的,但前端传给我们后端后,进行打印发现字符串的  “+ ” 全部变成了空格,这样数据肯定是有问题的,我们后端要进行数据的处理,将 空格  变成  “+”,这样数据才是正确的(如果更改后运行还是报这个错误,看4)

4.(解决)如果进行了 3  确定数据传输过来后 ,数据没问题  , 还是报这个错误  ,那么要确定前端获取 sessionKey  和  encryptedData ,   iv  的顺序是否正确,一定要先获取到sessionKey在获取到 encryptedData ,   iv ,而且在获取到这三个数据后,前端在我们进行解密前不能再次调用wx.login,如果再次调用了,那么sessionKey就会改变,还是无法解密

补充:

使用的“解密工具类”是复制的下面文章的代码

JAVA 微信小程序 解密 用户信息encryptedData_小目标青年的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-742033.html

到了这里,关于java微信小程序用户信息解密遇见“javax.crypto.IllegalBlockSizeException: last block incomplete in decryption”报错的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java后台实现网站微信扫码登录功能,获取用户openid,及微信用户信息(小程序码方案),关联微信小程序(个人主体小程序也可以)

    目录 前言 下面展示操作流程 注册微信小程序 通过后台获取小程序码 前端处理 时序图理解 方案实现步骤 前言 很多业务场景之下我们需要实现  微信扫码登录  的需求,如: 同步网站与小程序的用户数据 。 需要获取用户微信相关基本信息,如头像、id等 实例:小程序上的

    2024年02月02日
    浏览(43)
  • 微信小程序中获取用户手机号密文数据解密报错问题

    微信小程序获取手机号,官方通常会返回密文数据给我们,此时就需要我们自行解密数据。在揭秘的数据过程中会发现,第一次授权获取手机号会出现错误,再次获取的时候就能够正常获取。 错误信息一般分两种: 密文后端解密的 javax.crypto.BadPaddingException: pad block corrupted(后

    2024年02月15日
    浏览(43)
  • 微信小程序获取用户信息

    要在微信小程序中获取用户信息,你可以按照以下步骤进行操作: 1. 在小程序的app.json文件中添加\\\"scope.userinfo\\\"权限,例如: ``` \\\"permission\\\": {   \\\"scope.userinfo\\\": {     \\\"desc\\\": \\\"你的个人信息\\\"   } } ``` 2. 在小程序的某个页面中,使用wx.login方法获取用户登录凭证code,例如: ``` wx.log

    2024年02月10日
    浏览(34)
  • 微信小程序获取用户信息nickname为“微信用户”

    最近两天小程序用户登录获取到的用户微信名称都变成了\\\"微信用户\\\",在网上找到的问题原因是getUserProfile API被收回微信社区 头像昵称填写能力可以获取用户头像和昵称直接上代码,如果有更好的方案请留言!!!!!!!!

    2024年02月12日
    浏览(27)
  • 微信小程序—获取用户位置信息

    代码: 结果示例: 接下来我们需要经度(longitude)和纬度(latitude)两个属性

    2024年02月08日
    浏览(42)
  • 微信小程序获取用户信息流程

    要在微信小程序中获取用户信息,通常需要经过以下流程: 此外,还需要在小程序的 app.json 文件中配置 scope.userInfo 以确保可以请求用户信息授权。例如: 需要注意的是,从微信 7.0.0 开始,用户信息授权不再是全量授权,而是分为两部分:基本信息和用户敏感信息。基本信

    2024年02月05日
    浏览(38)
  • 微信小程序-获取用户头像信息以及修改用户头像

    这里主要用到 button的open-type 功能,官网已有说明: 给 button 设置 open-type=\\\"chooseAvatar\\\" ,来使 bindchooseavatar 方法生效,在 bindchooseavatar 指定的函数中获取用户的头像信息 该方法触发后会自动弹出提示框,让用户选择头像,用户选择的头像会在 bindchooseavatar 指定的函数内获取,

    2024年02月11日
    浏览(61)
  • 微信小程序:用户基本信息的采集

    在开发商城小程序时需要显示用户头像、昵称、手机号等信息以便后续业务的实现,因此需要通过微信小程序的API采集用户数据,由此进行总结。 在微信小程序中获取用户信息可以通过这几种方式获取,getUserInfo、getUserProfile、open-data组件、button的open-type属性,接下来分别对

    2024年02月09日
    浏览(26)
  • 微信小程序-获取用户信息【梳理历史】

    有一个迭代的过程,时间很近 大概分为4个内容 1.2021年4月15日  简述:回收了一个接口,新增了一个接口 小程序登录、用户信息相关接口调整说明 | 微信开放社区 (qq.com) 通过wx.login接口获取的登录凭证可直接换取unionID 回收wx.getUserInfo接口可获取用户个人信息能力 新增getUse

    2024年02月11日
    浏览(30)
  • 微信小程序session_key、encryptedData、iv进行解密获取用户头像名称

    以上代码大致流程为: 1.在小程序界面点击按钮发送js_code与encryptedData和iv到自己的服务器 2.服务器接收到js_code后配合appid与secret共同调用微信接口获取session_key与openid 3.使用获取到的encryptedData与iv以及获取到的session_key进行解密,将返回的数据转化为数组,提取其中的nickName与av

    2024年02月11日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包