package aes import ( // Standard "crypto/aes" "crypto/cipher" "encoding/base64" ) // Decrypt func (Algorithm) Decrypt(data string, key []byte) ([]byte, error) { // Decoded Data decodedData, err := base64.RawStdEncoding.DecodeString(data) // Handle Error if err != nil { return []byte(""), err } // Block block, err := aes.NewCipher(key) // Handle Error if err != nil { return []byte(""), err } // GCM gcm, err := cipher.NewGCM(block) // Handle Error if err != nil { return []byte(""), err } // Decrypted Data decryptedData, err := gcm.Open(nil, decodedData[:gcm.NonceSize()], decodedData[gcm.NonceSize():], nil) // Handle Error if err != nil { return []byte(""), err } // Return Decrypted Data return decryptedData, err }