shikeying
2024-01-11 3b67e947e36133e2a40eb2737b15ea375e157ea0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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));
    }
}