Ai
1 Star 0 Fork 0

siliworks/common-package

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
license.go 1.36 KB
一键复制 编辑 原始数据 按行查看 历史
545403892 提交于 2023-06-08 22:28 +08:00 . modify:修改文件
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
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/siliworks/common-package.git
git@gitee.com:siliworks/common-package.git
siliworks
common-package
common-package
v1.0.3

搜索帮助