package com.ltkj.web.controller.mall; import com.ltkj.web.controller.system.AES; import org.apache.commons.codec.binary.Base64; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; /** * 封装对外访问方法 */ public class WXCore { private static final String WATERMARK = "watermark"; private static final String APPID = "appid"; /** * 解密数据 * * @return * @throws Exception */ public static String decrypt(String appId, String encryptedData, String sessionKey, String iv) { String result = ""; try { AES aes = new AES(); byte[] resultByte = aes.decrypt(Base64.decodeBase64(encryptedData), Base64.decodeBase64(sessionKey), Base64.decodeBase64(iv)); if (null != resultByte && resultByte.length > 0) { result = new String(WxPKCS7Encoder.decode(resultByte)); JSONObject jsonObject = JSON.parseObject(result); String decryptAppid = jsonObject.getJSONObject(WATERMARK).getString(APPID); if (!appId.equals(decryptAppid)) { result = ""; } } } catch (Exception e) { result = ""; e.printStackTrace(); } return result; } }