``` package main import ( "fmt" "basic.com/valib/licence.git" ) func main() { // 生成秘钥和公钥, 参数: 文件前缀 if len(os.Args) > 1 && os.Args[1] == "-g" { licence.GetRsaKey("test") return } // 获取机器码 machCode := licence.GetMachineCode() fmt.Println("MachineCode: ", machCode) // 获取注册码, 参数: 公司名, 电子邮箱, 手机号 regCode := licence.GetRegisterCode("basic.com", "dev@basic.com", "13911697509") fmt.Println("Register code:", regCode) fd, err := os.Open("./private.key") if err != nil { fmt.Println(err) return } 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")) } ```