package com.supersavedriving.driver.modular.system.util.weChat;
|
|
import org.apache.commons.codec.binary.Base64;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.beans.factory.annotation.Value;
|
|
public class WXCore {
|
|
private static Logger logger = LoggerFactory.getLogger(WXCore.class);
|
|
private static final String WATERMARK = "watermark";
|
|
@Value("${wx.appletsAppid}")
|
private static String appid ;
|
|
|
|
/**
|
* 解密数据
|
* @return
|
* @throws Exception
|
*/
|
public static String decrypt(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), "UTF-8");
|
// 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;
|
}
|
|
|
public static void main(String[] args) throws Exception{
|
String appId = "wx4f4bc4dec97d474b";
|
String encryptedData = "ajhisfk0EhWCBcoxt/5QJA3bKPTygQXANbCSev92MyqIqGxRhzZFS1SlQrIWAo3tx8YfsB+VlScZNOlRyfnXKqPUl9h+PDeKsTkTst9V4pq4mUbI+r3AautXBffVk/rpyjMfanVsWeOlxkupdv2U9U4BrueR/Rak+TCmHTWUUf8eDLoi6nioL/Pft/rYaO3JD54hgpcY0Ef/k7Boyap4E0/uKVowY1ANO7KVydSXE6S7OKzXuzmDTbV38v+7ryMHtglUzoKzF1gL8y9OZRwkaesfHN1kfItjpsAibjSgkIiiW6ZEHLT2n1UDkJtfUqg63je2cJAH7gzeUm9TCDDftdhLU+NuPk3j/LXyFQ05pJ8B19+kIXF3dcmHOH7lFvi7yGmVuAD/9AnetGWgId3TZDS/OjbiVUM30RogeziAw98VpAyAAq1r2ULFwi8e928m";
|
String sessionKey = "CdxFGwXIluQFZ+qD+NSFKQ==";
|
String iv = "3FD8r1Spwlf7LG8YEq41+Q==";
|
logger.debug(decrypt(encryptedData, sessionKey, iv));
|
}
|
}
|