Jest jakiś sposób w golangu aby zaenkodować []byte
do stringa, ale aby ten string był jak najkrótszy i abym mógł potem oczywiście odenkodować. Robię jak poniżej ale to przy dłuższej []byte
zwraca mi kosmiczny string.
Chciałbym aby zwróciło string do max 50 znaków, da się w ogóle?
func encrypt(data, key []byte) (string, error) {
block, err := aes.NewCipher(key)
if err != nil {
return "", err
}
aead, err := cipher.NewGCM(block)
if err != nil {
return "", err
}
nonce := make([]byte, aead.NonceSize())
if _, err = io.ReadFull(rand.Reader, nonce); err != nil {
return "", err
}
byte := aead.Seal(nonce, nonce, data, nil)
return base64.URLEncoding.EncodeToString(byte), nil
}