summaryrefslogtreecommitdiff
path: root/auth/crypto.go
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2023-10-24 08:38:40 +0200
committerMartin Kagamino Lehoux <martin@lehoux.net>2023-10-24 08:38:40 +0200
commita9927763f43d59c418b264790ccee59defe8ca29 (patch)
tree5dfc4f1f1f29d1ef1cbca3406bf57d1667b93f76 /auth/crypto.go
parented23d402fec268e163ec895748f43e3254ba3dfd (diff)
refactor: Rename packages for clarityv0.3.0
Diffstat (limited to 'auth/crypto.go')
-rw-r--r--auth/crypto.go54
1 files changed, 0 insertions, 54 deletions
diff --git a/auth/crypto.go b/auth/crypto.go
deleted file mode 100644
index 254539f..0000000
--- a/auth/crypto.go
+++ /dev/null
@@ -1,54 +0,0 @@
-package auth
-
-import (
- "crypto/aes"
- "crypto/cipher"
- "crypto/rand"
- "encoding/base64"
- "errors"
-
- "github.com/martinlehoux/kagamigo/core"
-)
-
-var (
- ErrEncryptedTooShort = errors.New("encrypted text is too short")
-)
-
-func encrypt(secret []byte, plainText string) string {
- block, err := aes.NewCipher(secret)
- core.Expect(err, "error creating AES cipher")
-
- aead, err := cipher.NewGCM(block)
- core.Expect(err, "error creating AEAD")
-
- nonce := make([]byte, aead.NonceSize())
- _, err = rand.Read(nonce)
- core.Expect(err, "error generating nonce")
-
- return base64.URLEncoding.EncodeToString(aead.Seal(nonce, nonce, []byte(plainText), nil))
-}
-
-func decrypt(secret []byte, encryptedText string) (string, error) {
- encryptedBytes, err := base64.URLEncoding.DecodeString(encryptedText)
- if err != nil {
- err = core.Wrap(err, "error decoding base64")
- return "", err
- }
- block, err := aes.NewCipher(secret)
- core.Expect(err, "error creating AES cipher")
-
- aead, err := cipher.NewGCM(block)
- core.Expect(err, "error creating AEAD")
-
- nonceSize := aead.NonceSize()
- if len(encryptedBytes) < nonceSize {
- return "", ErrEncryptedTooShort
- }
- nonce, cipherText := encryptedBytes[:nonceSize], encryptedBytes[nonceSize:]
- plainBytes, err := aead.Open(nil, nonce, cipherText, nil)
- if err != nil {
- err = core.Wrap(err, "error decrypting")
- return "", err
- }
- return string(plainBytes), nil
-}