前端自行开发java小程序后端,各种吃苦就不吹了。
参考了很多文章,在记录小程序用户和同一账号下其他获取用户信息的app/公众号的平台中,如果要想统一起来用户,记录unionId才能正确的进行对应,而在小程序中,获取微信用户的unionId需要通过wx.log()之后再次调用wx.getUserInfo()接口才会通过加密的方式返回(在注册小程序的账号下,暂时没有其他使用微信用户的第三方没有,其他情况可能会返回,请自行参考)。而要获取的话需要将微信的返回进行解密操作后才能顺利取出。
废话不多说,讲一下解密的代码。首先是java工程,微信并未提供相关的算法代码。只能自己写或者通过百度/google找一份了,找的过程中发现很多的博文都不太顺利,其中参考了博文进行了尝试基本完成了代码。https://blog.youkuaiyun.com/wujin274/article/details/76604964
不多说,上代码
package com.network;
import org.apache.commons.codec.binary.Base64;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import javax.crypto.*;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import java.security.*;
public class Test {