代码拉取完成,页面将自动刷新
package linkAesCrypt
import (
"encoding/base64"
"encoding/json"
"gitee.com/micro-tools/wf/util/gconv"
)
type LicenseStruct struct {
CodeType int64 `fmt:"codeType"`
Customer string `fmt:"customer"`
DeviceSN string `fmt:"deviceSN"`
Expires int64 `fmt:"expires"`
Functions Function `fmt:"functions"`
ReleaseDate string `fmt:"releaseDate"`
Supplier string `fmt:"supplier"`
}
type Function struct {
Gps bool `fmt:"gps"`
OutOfBoundAlert bool `fmt:"outOfBoundAlert"`
}
const KEY = "#HvL%$o0oNNoOZnk#o2qbqCeQB1iXeIR"
//CreateLicense 生成license
func CreateLicense(data LicenseStruct) (rsp string, err error) {
key := KEY
origData, err := json.Marshal(data)
if err != nil {
return "", err
}
encrypt, err := AesEncrypt(origData, gconv.Bytes(key))
if err != nil {
return "", err
}
res := base64.StdEncoding.EncodeToString(encrypt)
rsp = res
return rsp, nil
}
//GetByLicense 根据license解码生成map[string]interface{}
func GetByLicense(license string) (rsp *LicenseStruct, err error) {
key := KEY
var m LicenseStruct
decodeString, err := base64.StdEncoding.DecodeString(license)
if err != nil {
return nil, err
}
decrypt, err := AesDecrypt(decodeString, gconv.Bytes(key))
if err != nil {
return nil, err
}
err = json.Unmarshal(decrypt, &m)
if err != nil {
return nil, err
}
rsp = &m
return rsp, nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。