123456789101112131415161718192021222324252627282930313233 |
- package utils
- import (
- "crypto/aes"
- "crypto/cipher"
- "encoding/base64"
- )
- func DecryptAES256GCM(aesKey, associatedData, nonce, ciphertext string) (plaintext string, err error) {
- decodedCiphertext, err := base64.StdEncoding.DecodeString(ciphertext)
- if err != nil {
- return "", err
- }
- c, err := aes.NewCipher([]byte(aesKey))
- if err != nil {
- return "", err
- }
- gcm, err := cipher.NewGCM(c)
- if err != nil {
- return "", err
- }
- dataBytes, err := gcm.Open(nil, []byte(nonce), decodedCiphertext, []byte(associatedData))
- if err != nil {
- return "", err
- }
- return string(dataBytes), nil
- }
|