package secret import ( "encoding/hex" "errors" "fmt" "fonchain-fiee/pkg/utils/secret/aes" "strings" ) func GetPositionCode(positionName string) string { code := "other" positionMap := map[string]string{"宣传部": "xcb", "鉴证科": "jzk", "经纪人": "jjr", "普通用户": "com"} if v, ok := positionMap[positionName]; ok { code = v } return code } func CombineSecret(position, name, toke string) (string, error) { abc := position + "(~!@)" + name + "(~!@)" + toke b, err := aes.AesEcrypt([]byte(abc), aes.PwdKey) if err != nil { return "", errors.New("解析错误") } return hex.EncodeToString(b), nil } func getToken(token string) (string, error) { if strings.Contains(token, "(~!@)") == false { return "", errors.New("解析错误") } str1 := strings.Split(token, "(~!@)") if len(str1) != 3 { return "", errors.New("解析数量错误") } return str1[2], nil } func GetJwtFromStr(authorization string) (string, error) { tokenByte, err := hex.DecodeString(authorization) if err != nil { return "", err } defer func() { if msg := recover(); msg != nil { fmt.Println("panic信息:", msg, "---recover恢复---") } }() token, err := aes.AesDeCrypt(tokenByte, aes.PwdKey) if err != nil { return "", err } //解密下 jwt, err := getToken(string(token)) if err != nil { return "", err } return jwt, nil } func CommonCombineSecret(abc string) (string, error) { b, err := aes.AesEcrypt([]byte(abc), aes.PwdKey) if err != nil { return "", errors.New("解析错误") } return hex.EncodeToString(b), nil } func CommonDec(abc string) (string, error) { tokenByte, err := hex.DecodeString(abc) if err != nil { return "", err } defer func() { if msg := recover(); msg != nil { fmt.Println("panic信息:", msg, "---recover恢复---") } }() token, err := aes.AesDeCrypt(tokenByte, aes.PwdKey) if err != nil { return "", err } return string(token), nil }