From 1b2234f875f24d9dfd9a34544b78eddaddcba0fa Mon Sep 17 00:00:00 2001 From: Trong Huu Nguyen Date: Mon, 13 Feb 2023 20:14:38 +0100 Subject: [PATCH] refactor(session/data): skip unnecessary base64 (un)marshalling --- pkg/session/data.go | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/pkg/session/data.go b/pkg/session/data.go index 0f3d67d..fdca4c7 100644 --- a/pkg/session/data.go +++ b/pkg/session/data.go @@ -2,7 +2,6 @@ package session import ( "encoding" - "encoding/base64" "encoding/json" "time" @@ -16,27 +15,23 @@ const ( ) type EncryptedData struct { - Data string `json:"data"` + Ciphertext []byte } var _ encoding.BinaryMarshaler = &EncryptedData{} var _ encoding.BinaryUnmarshaler = &EncryptedData{} func (in *EncryptedData) MarshalBinary() ([]byte, error) { - return json.Marshal(in) + return in.Ciphertext, nil } func (in *EncryptedData) UnmarshalBinary(bytes []byte) error { - return json.Unmarshal(bytes, in) + in.Ciphertext = bytes + return nil } func (in *EncryptedData) Decrypt(crypter crypto.Crypter) (*Data, error) { - ciphertext, err := base64.StdEncoding.DecodeString(in.Data) - if err != nil { - return nil, err - } - - rawData, err := crypter.Decrypt(ciphertext) + rawData, err := crypter.Decrypt(in.Ciphertext) if err != nil { return nil, err } @@ -87,7 +82,7 @@ func (in *Data) Encrypt(crypter crypto.Crypter) (*EncryptedData, error) { } return &EncryptedData{ - Data: base64.StdEncoding.EncodeToString(ciphertext), + Ciphertext: ciphertext, }, nil }