Initial commit

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 13:57:10 +08:00
co-authored by Claude Opus 5
commit 8679200f41
1897 changed files with 257900 additions and 0 deletions
+65
View File
@@ -0,0 +1,65 @@
package store
import (
"91porn-server/app/appg"
"crypto/aes"
"crypto/cipher"
"encoding/base64"
"encoding/json"
"fmt"
"net/url"
)
func GetStoreLink(u *UserData) string {
if u == nil {
return ""
}
sign, err := encryptUserData(u, appg.Conf.Base.StoreEncryptKey)
if err != nil {
return ""
}
urlStr := fmt.Sprintf("%v?sign=%v", appg.Conf.URL.StoreUrl, url.QueryEscape(sign))
return urlStr
}
type UserData struct {
AppUid uint64 `json:"uid"` // uid
AppId int `json:"appId"`
Name string `json:"name"` // 姓名
Portrait string `json:"portrait"` // 头像
ExpireTime int64 `json:"expireTime"` // 失效时间的时间戳,单位秒
Balance int64 `json:"balance"`
}
func encryptUserData(u *UserData, key string) (sign string, err error) {
b, err := json.Marshal(u)
if err != nil {
return
}
encryptBytes, err := Encrypt(b, key)
if err != nil {
return
}
sign = string(encryptBytes)
return
}
// TODO 这里的别动
var commonIV = []byte{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}
func Encrypt(plainByte []byte, keyText string) (res string, err error) {
// 转换成字节数据, 方便加密
keyByte := []byte(keyText)
// 创建加密算法aes
c, err := aes.NewCipher(keyByte)
if err != nil {
return "", err
}
//加密字符串
cfb := cipher.NewCFBEncrypter(c, commonIV)
cipherByte := make([]byte, len(plainByte))
cfb.XORKeyStream(cipherByte, plainByte)
res = base64.StdEncoding.EncodeToString(cipherByte)
return
}