package secure import ( "encoding/base64" jsoniter "github.com/json-iterator/go" "github.com/nanjishidu/gomini/gocrypto" ) type NetPackage struct { Body string `json:"body"` Key string `json:"key"` } func Decrypt(text []byte) ([]byte, error) { np := NetPackage{} err := jsoniter.Unmarshal(text, &np) if err != nil { return nil, err } originalKey, _ := base64.StdEncoding.DecodeString(np.Key) key, err := gocrypto.RSADecrypt(originalKey, "credentials/app/server_rsa_private_key.pem") if err != nil { return nil, err } err = gocrypto.SetAesKey(string(key)) if err != nil { return nil, err } originalBody, err := base64.StdEncoding.DecodeString(np.Body) if err != nil { return nil, err } body, err := gocrypto.AesECBDecrypt(originalBody) if err != nil { return nil, err } return body, nil }