package com.walker.security.admin; import java.io.File; import java.io.IOException; public class FileLisenceGenerator extends AbstractLisenceGenerator { private static final String DEST_FILE = "d:/logs/my_walker_log_"; private static final String OUTPUT_FILE_NAME = "wk_sn_lic.bin"; @Override protected Object generateObject(byte[] encryptData) { File outputFile = new File(DEST_FILE + System.currentTimeMillis() + ".bin"); try { FileCopyUtils.copy(encryptData, outputFile); } catch (IOException e) { throw new RuntimeException(null, e); } return null; } public static void main(String[] args) throws Exception{ // LisenceGenerator lisence = new FileLisenceGenerator(); // lisence.generate("2016d81f70ba"); // 第二次修改,可以支持ip、时间限制两种条件 // b888e3e64031 本地连接mac // lisence.generate("walkersoft,2,b888e3e64031,1414930362863,1415093113967"); // 授权时间段,到2014-11-7 20:56 // File destFile = new File("d:/logs/walker_sn_walkersoft.bin"); // lisence.generate("walkersoft,1,b888e3e64031,1415019282822,1430831498978", destFile); // byte[] result = lisence.generate("walkersoft,1,b888e3e64031,1415279498978,1430831498978"); // System.out.println(result); // 生成时间范围配置文件 long start = DateUtils.getDateLong("2022-10-05"); long end = DateUtils.getDateLong("2025-10-07"); generateOnlyTime("dev", start, end, "d:/shi"); } private static void generateOnlyIpFile(String customer, String macAddress, String outputFolder) throws Exception{ StringBuilder sb = new StringBuilder(customer); sb.append(",0,").append(macAddress); sb.append(",0,0"); String file = outputFolder + "/wk_sn_lic_" + System.currentTimeMillis() + ".bin"; LisenceGenerator lisence = new FileLisenceGenerator(); lisence.generate(sb.toString(), new File(file)); } private static void generateOnlyTime(String customer, long start, long end, String outputFolder) throws Exception{ StringBuilder sb = new StringBuilder(customer); sb.append(",1,").append("address"); sb.append(",").append(start).append(",").append(end); String file = outputFolder + "/wk_sn_lic_" + System.currentTimeMillis() + ".bin"; LisenceGenerator lisence = new FileLisenceGenerator(); lisence.generate(sb.toString(), new File(file)); } private static void generateIpAndTime(String customer , String macAddress, long start, long end, String outputFolder) throws Exception{ StringBuilder sb = new StringBuilder(customer); sb.append(",2,").append(macAddress); sb.append(",").append(start).append(",").append(end); String file = outputFolder + "/wk_sn_lic_" + System.currentTimeMillis() + ".bin"; LisenceGenerator lisence = new FileLisenceGenerator(); lisence.generate(sb.toString(), new File(file)); } }