数据收集(目前只支持json格式)
2种方式:
- API方式:GET/POST获取基础数据 url为服务地址,在服务地址下依次从PLATFORM(平台)/PLATTYPE(分类)/DO_TYPE(活动数据)获取所需的基础数据
- RFC方式:根据约定的sessionid 对应 PLATFORM(平台)/PLATTYPE(分类)/DO_TYPE(活动数据)获取所需的基础数据
存储方式:由一张表实现所有数据类型的加密存储(任意JSON转为内表后存储)
程序架构:
SAP部分:
展示结果:
又遇到了原创必须要有300字:
为了增加字数那就加一段以前java的商业化探讨。什么样的代码是安全的代码,是加密,还是混淆?
别了,已经忘记了MD5可变长,人生中的第一次算法思考。
- public static Logger logger=Logger.getLogger(ClassSecurityUtils.class);
- public static String SECURITY_KEY_FILE_LOCATION;
- static{
- SECURITY_KEY_FILE_LOCATION =PropertiesUtils.getProperties(SYSTEMCONFIG_FILE_LOCATION).getProperty(SECURITY_KEY_FILE_LOCATION_KEY);
- }
- /**
- * 将客户端的jar文件通过循环依次加密
- * @param clazzPath 类文件路径
- * @throws Exception
- */
- public static void cryptClass(String clazzPath) throws Exception {
- //获取密钥信息
- FileInputStream fi = new FileInputStream(new File(SECURITY_KEY_FILE_LOCATION));
- byte rawKeyData[]=IOUtils.toByteArray(fi);
- //创建加密的对象
- SecureRandom sr = new SecureRandom();
- DESKeySpec dks = new DESKeySpec(rawKeyData);
- SecretKey key = SecretKeyFactory.getInstance("DES").generateSecret(dks);
- Cipher cipher = Cipher.getInstance("DES");
- cipher.init(Cipher.ENCRYPT_MODE, key, sr);
- //获取class文件加密前的信息
- File clazzFile=new File(clazzPath);
- FileInputStream fi2 = new FileInputStream(clazzFile);
- byte data[] = IOUtils.toByteArray(fi2);
- //获取加密之后的信息并写入文件
- byte encryptedData[] = cipher.doFinal(data);
- FileOutputStream fo = new FileOutputStream(clazzFile);
- IOUtils.write(encryptedData, fo);
- }