⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 licenseauth.java

📁 请认真阅读您的文件包然后写出其具体功能(至少要20个字)。
💻 JAVA
字号:
package com.richeninfo.license;
import java.io.*;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2002</p>
 * <p>Company: </p>
 * @author xiaolie
 * @version 1.0
 */

public class LicenseAuth {
    private LicenseKeyPair keyPair;
    private long modifiedTime;
    private long period = 0L;
    //private String pubKey;
    private int p2;
    private int p3;
    private TMng tmng;
    private String name;
    private boolean neverRegister = false;

    public LicenseAuth(String name) throws Exception{
        try {
            this.name = name;
            keyPair = LicenseKeyPair.loadFromeFile(name);
            File f = new File(LicenseKeyPair.properties.getProperty("java.home") + "/" + "License.data");
            modifiedTime = f.lastModified();
            //pubKey = keyPair.getPubKey();
            //System.out.println("pubKey=" + pubKey);
            period = keyPair.getP1()*24L*60L*60L*1000L;
            p2 = keyPair.getP2();
            p3 = keyPair.getP3();
        } catch (NotRegisterException ne) {
            neverRegister = true;
        } catch (Exception e) {
            System.out.println("LicenseAuth.LicenseAuth err=" + e.toString());
        }
        tmng = TMng.getTMng(name);
        //System.out.println("TMng.pubKey=" + tmng.getPubKey());
    }

    public LicenseAuth(String name, String path) throws Exception{
        this(name);
        if (keyPair != null) {
            keyPair.path = path;
        }
    }

    public int getP2() {
        return p2;
    }

    public int getP3() {
        return p3;
    }

    public long getPeriod() {
        return period;
    }

    public boolean isLicensed() {
        try {
            if (keyPair == null) {
                System.out.println("isLicensed() false 1");
                return false;
            }
            if (!keyPair.isRightSn()) {
                System.out.println("isLicensed() false 2");
                return false;
            }
            if (keyPair.getModifiedTime() != modifiedTime) {
                System.out.println("isLicensed() false because 3");
                return false;
            }
            return true;
        } catch (Exception e) {
            e.printStackTrace(System.out);
        }
        System.out.println("isLicensed() false 4");
        return false;
    }

    public boolean register(String sn, String path) {
        try {
            LicenseKeyPair key = new LicenseKeyPair(name, tmng.getPubKey(), sn, path);
            if (key.isRightSn()) {
                key.saveToFile();
                period = key.getP1()*24L*60L*60L*1000L;
                p2 = key.getP2();
                p3 = key.getP3();
                modifiedTime = key.getModifiedTime();
                if (neverRegister) {
                    tmng.bd();
                }
                keyPair = key;
                return true;
            } else {
                return false;
            }
        } catch (Exception e) {
            e.printStackTrace(System.out);
        }
        return false;
    }

    public boolean isExpire() {
        long passTime = tmng.getPassTime();
        if (keyPair == null) return true;
        if (keyPair.getP1() > 9000) return false;
        if(passTime > period) {
            return true;
        } else {
            return false;
        }
    }

    public String getPubkey() {
        return tmng.getPubKey();
    }

    public int getRemainDays() {
        if (keyPair == null) return 0;
        if (keyPair.getP1() >= 9000) return 9999;
        return (int)((period - tmng.getPassTime())/(24L*60L*60L*1000L));
    }

    public static void main(String[] args) throws Exception {
        if (args.length < 2)
            System.out.println("Usage: java com.richeninfo.license.LicenseAuth productName, sn");
        //LicenseAuth auth = new LicenseAuth("SGrid");
        LicenseAuth auth = new LicenseAuth(args[0]);
        System.out.println("is licensed:" + (auth.isLicensed()?"true":"false"));
        //boolean b = auth.register("LCKDOAEJLMLIBOOVHTKRKNAO", "");//1111,0,0
        boolean b = auth.register(args[1], "");//1111,0,0
        System.out.println("register:" + (b?"success":"fail") +
                           " period=" + auth.getPeriod()/(24L*60L*60L*1000L) +
                           " p2=" + auth.getP2() +
                           " p3=" + auth.getP3());
        //System.out.println(" period=" + auth.getPeriod()/(24L*60L*60L*1000L) +
        //                   " group Num=" + auth.getGroupNum() +
        //                   " user Num=" + auth.getUserNum());
        /*
        LicenseAuth auth = new LicenseAuth();
        boolean isLicensed = false;
        boolean isExpire = false;
        int remainingDays = 30;
        if (auth.isLicensed()) {
            isLicensed = true;
        } else {
            isLicensed = false;
            if (auth.isExpire()) {
                isExpire = true;
            } else {
                isExpire = false;
                remainingDays = auth.getRemainDays();
            }
        }
        */
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -