近日在对接小程序API,其中wx.getUserInfo api返回的数据encryptedData 的解密算法要求为: AES-128-CBC,数据采用PKCS#7填充. 经过一番查询,得到java自带了PKCS5Padding算法实现,但是没有PKCS7Padding(注:说的应该是jdk8之前的版本,jdk8的版本有).需要借助BouncyCastle组件来实现.于是加了如下依赖: <dependency> <groupId>org.bouncycastle</grou…
在java中用aes256进行加密,但是发现java里面不能使用PKCS7Padding,而java中自带的是PKCS5Padding填充,那解决办法是,通过BouncyCastle组件来让java里面支持PKCS7Padding填充. 説辣么多不如上代码: public class AESUtil { /** * Encodes a String in AES-256 with a given key * * @param context * @param password * @param…
出现这个问题的原因是:java自带的是PKCS5Padding填充,不支持PKCS7Padding填充 参考:https://stackoverflow.com/questions/20770072/aes-cbc-pkcs5padding-vs-aes-cbc-pkcs7padding-with-256-key-size-performance-java https://crypto.stackexchange.com/questions/9043/what-is-the-difference…
1.获取input的值 <input bindinput="bindKeyInput" placeholder="输入同步到view中"/>   bindKeyInput: function(e) { this.setData({ inputValue: e.detail.value }) }, 1.获取标签属性的属性值data-: <button binTap="buy" data-productid="101&qu…
异常描述: 微信小程序领取卡券,调用 wx.addCard 接口,安卓手机正常调起领取卡券界面,苹果手机.微信开发者工具中均出现“参数错误”,如图: 异常解析: 安卓手机能正常调起领取界面,那就说明领取卡券参数是没有问题的,那么苹果手机中出现的异常应该就是ios系统对js的某些兼容性问题了.认真再从头看一遍小程序开发文档中关于 领取卡券 的部分,能看到这么一句: 注:cardExt 需进行 JSON 序列化为字符串传入 既然安卓手机访问正常,那十有八九就是参数格式问题了. 问题解决: 检查下小程…
前言 有些公司对接口的安全要求比较高,传参数的时候,不会明文的传输,先对接口加密,返回的数据也加密返回. 目前比较常见的加密方式是AES/CBC/pkcs7padding. AES五种加密模式 在AES加密时,一般使用了"AES/ECB/NoPadding"或"AES/ECB/PKCS5padding" 或 "AES/ECB/PKCS5padding" 的模式 使用AES加密的ECB模式,显式指定加密算法为:CBC或CFB模式,可带上PKCS5P…
摘要:微信小程序解密建议使用1.6及以上的环境使用maven下载jar包org.bouncycastlebcprov-jdk15on1.55加密类代码importorg.bouncycastle.jce.provider.BouncyCastleProvider;importorg.bouncycastle.util.Arrays;importjavax.crypto.Cipher;importjavax.crypto.NoSuchPaddingException;importja 微信小程序解…
异常描述: 点击按钮获取用户手机号码,有的时候会出现点击无反应或很久之后才弹出用户授权获取手机号码的弹窗,这种情况下,也会出现点击穿透的问题(详见:微信小程序开发——连续快速点击按钮调用小程序api返回后仍然自动重新调用的异常处理) 异常解析: 1. getPhoneNumber的使用: 对于 getPhoneNumber(OBJECT) API,由于小程序需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用 <button> 组件的点击来触发(具体使用方法详见getP…
Visual Studio 2017中使用正则修改部分内容   最近在项目中想实现一个小工具,需要根据类的属性<summary>的内容加上相应的[Description]特性,需要实现的效果如下 修改前: /// <summary> /// 条形码 /// </summary> public List<GoodsBarcodeEditModel> Barcodes { get; set; } 修改后: /// <summary> /// 条形码…
微信使用的开发语言和文件很「特殊」. 小程序所使用的程序文件类型大致分为以下几种: ①WXML(WeiXin Mark Language,微信标记语言) ②WXSS(WeiXin Style Sheet,微信样式表) ③JS(Java,小程序的主体) 在语言方面,小程序看似重新定义了一套标准.但实际上,它们与「前端三件套」--HTML.CSS 和 Java--差不太多. 下面,我们就来对比一下小程序开发语言和「前端三件套」有什么异同点: HTML 与 WXML:两者差异比较大,如果之前没有接触过…