| | |
| | | "basic.com/valib/licence.git" |
| | | ) |
| | | |
| | | const key = "flzxsqc,ysyhljt." |
| | | |
| | | func main() { |
| | | // 生成秘钥和公钥 |
| | | if len(os.Args) > 1 && os.Args[1] == "-g" { |
| | | licence.GetRsaKey() |
| | | return |
| | | } |
| | | |
| | | // 获取机器码 |
| | | machineCode := licence.GetMachineCode() |
| | | machCode := licence.GetMachineCode() |
| | | fmt.Println("MachineCode: ", machCode) |
| | | |
| | | // 生成Licence |
| | | licenceCode := licence.GenerateLicence(machineCode, "2019-12-12 00:00:00", key) |
| | | // 获取注册码, 参数: 公司名, 电子邮箱, 手机号 |
| | | regCode := licence.GetRegisterCode("basic.com", "dev@basic.com", "13911697509") |
| | | fmt.Println("Register code:", regCode) |
| | | |
| | | fmt.Println("machineCode: ", machineCode) |
| | | fmt.Println("licenceCode: ", licenceCode) |
| | | fd, err := os.Open("./private.key") |
| | | if err != nil { |
| | | fmt.Println(err) |
| | | return |
| | | } |
| | | |
| | | // 验证Licence, 0, 成功 1, 无效 2, 设备未授权 3, 过期 |
| | | fmt.Println(licence.VerifyLicence(licenceCode, key)) |
| | | defer fd.Close() |
| | | privateKey, err := ioutil.ReadAll(fd) |
| | | if err != nil { |
| | | fmt.Println(err) |
| | | return |
| | | } |
| | | |
| | | // 生成Licence, 参数: 注册码, 到期时间, 秘钥 |
| | | licenceCode, err := licence.GenerateLicence(regCode, "2106-01-02 15:04:05", privateKey) |
| | | if err != nil { |
| | | fmt.Println("GenerateLicence error :", err) |
| | | return |
| | | } |
| | | fmt.Println("licence code:", licenceCode) |
| | | ioutil.WriteFile("./LicenceFile", []byte(licenceCode), 0666) |
| | | |
| | | // 解密Licence文件 |
| | | licenceText, err := licence.DecryptLicence("./LicenceFile", "./public.pem") |
| | | if err != nil { |
| | | fmt.Println("DecryptLicence error :", err) |
| | | return |
| | | } |
| | | fmt.Println("licence text:", string(licenceText)) |
| | | |
| | | // 验证Licence, 参数: LicenceFile, public.pem 的路径 返回: 0, 成功 1, 无效 2, 设备未授权 3, 过期 |
| | | fmt.Println(licence.VerifyLicence("./LicenceFile", "./public.pem")) |
| | | } |
| | | |
| | | ``` |