解密步骤: 一: aes工具包 1.相关依赖 <!--微信小程序进行解密加密的用户信息 --> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk16</artifactId> <version>1.46</version> </dependency> 2.工具包
public static String decrypt(byte[] key, byte[] iv, byte[] encData) throws Exception { AlgorithmParameterSpec ivSpec = new IvParameterSpec(iv); Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); SecretKeySpec keySpec = new SecretKeySpec(key, "AES"); cipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec); return new String(cipher.doFinal(encData),"UTF-8"); }
二:实现类 BASE64Decoder decoder = new BASE64Decoder(); byte[] raw = decoder.decodeBuffer(iv); byte[] session_key = decoder.decodeBuffer(key); byte[] encryptedDataB = decoder.decodeBuffer(encryptedData); String decrypt = AESDUtils.decrypt(session_key, raw, encryptedDataB);
注: 返回信息如果不是正规json串,在做相应修改,我的是json串有个key和value之间用的‘;’,要做替换!!!!