test.java 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package com.iamberry.rst.utils;
  2. import com.alibaba.dubbo.common.json.JSON;
  3. import com.auth0.jwt.internal.org.apache.commons.codec.binary.Base64;
  4. import com.auth0.jwt.internal.org.apache.commons.codec.binary.StringUtils;
  5. import net.sf.json.JSONArray;
  6. import net.sf.json.JSONObject;
  7. //import org.apache.kafka.clients.consumer.ConsumerRecord;
  8. //import org.apache.kafka.clients.consumer.ConsumerRecord;
  9. import java.io.File;
  10. import java.io.FileInputStream;
  11. import java.security.Key;
  12. import java.util.Map;
  13. import javax.crypto.Cipher;
  14. import javax.crypto.spec.SecretKeySpec;
  15. import java.security.Key;
  16. public class test {
  17. private static final String AES = "AES";
  18. public static String decrypt(String encryptedData, String secretKey) throws Exception {
  19. Key key = new SecretKeySpec(secretKey.getBytes(), AES);
  20. Cipher c = Cipher.getInstance(AES);
  21. c.init(2, key);
  22. byte[] decodedValue = Base64.decodeBase64(encryptedData);
  23. byte[] decValue = c.doFinal(decodedValue);
  24. String decryptedValue = StringUtils.newStringUtf8(decValue);
  25. return decryptedValue;
  26. }
  27. /*
  28. public static void main(String[] args) throws Exception {
  29. ConsumerRecord<String, String> record = new ConsumerRecord<String, String>("4", 1, 1, "data", "{\"data\":\"7uiBfrOFcdy/EDWxcT6SlQgcMKSMSMuoqvsehLBoghAHxfaWrU9wkHCARR3wuaMwHOKWzrv5DHEfJNt9/QrlfTk6VcHGwiPGycwiPvDkoTe4eJOW8Qqwm/1H4nNX+1Ed/CTueaJe3E/BNsFxe7rF+n32z8r2qDMY9IAHCARuYJRgWKSV9GygcuObQZ+gpq6uCTCNBf4XIxuHSB/BGVZpATEykU1vILnX89GzoJlV+10=\"}");
  30. String appKey = "5kkyurvvtt58bbuxueee";//填APP KEY
  31. String secretKey = "rhj6na6u3y6uhy6qrbb3944mg5uqqpbb";//APP SECRET
  32. String data = decrypt(JSONObject.fromObject(record.value()).getString("data"),
  33. secretKey.substring(8, 24));//解析后的真正数据
  34. JSONObject jasonObject = JSONObject.fromObject(data);
  35. System.out.println(jasonObject);
  36. if(jasonObject.has("dps")){
  37. JSONArray dps = jasonObject.getJSONArray("dps");
  38. boolean flog = false;
  39. for(int i = 0; i < dps.size(); i++){
  40. Map maps = (Map) JSON.parse(dps.getString(i));
  41. for (Object obj : maps.keySet()){
  42. if(obj.equals("DEVECE_CONTROL_MILK")){
  43. String milkPowder = maps.get(obj).toString();
  44. flog = true;//如果数据中包含当前字段,表示当前推送的数据为奶粉记录
  45. }
  46. if(obj.equals("t")){
  47. Long milkTime = (Long)maps.get((obj));
  48. }
  49. }
  50. }
  51. if(flog){
  52. // 根据机器ID 获取对应的用户id
  53. String devId = jasonObject.getString("devId");
  54. flog = false;
  55. }
  56. }
  57. }*/
  58. }