aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Crute <mike@crute.us>2022-08-04 18:03:29 -0700
committerMike Crute <mike@crute.us>2022-08-04 18:03:29 -0700
commit56a7aef4b2edc5a3405a19220bd8b151ebe45397 (patch)
tree29099079ccbe7119703ea7709ad59ed8185de8fb
parent74261a98d6cf34006a28bb90433ccf2ee4ec915d (diff)
downloadgo-inform-56a7aef4b2edc5a3405a19220bd8b151ebe45397.tar.bz2
go-inform-56a7aef4b2edc5a3405a19220bd8b151ebe45397.tar.xz
go-inform-56a7aef4b2edc5a3405a19220bd8b151ebe45397.zip
Hide some crypto functions
-rw-r--r--inform/crypto.go8
1 files changed, 4 insertions, 4 deletions
diff --git a/inform/crypto.go b/inform/crypto.go
index 4e82741..8786059 100644
--- a/inform/crypto.go
+++ b/inform/crypto.go
@@ -10,13 +10,13 @@ import (
10 "errors" 10 "errors"
11) 11)
12 12
13func Pad(src []byte, blockSize int) []byte { 13func pad(src []byte, blockSize int) []byte {
14 padLen := blockSize - (len(src) % blockSize) 14 padLen := blockSize - (len(src) % blockSize)
15 padText := bytes.Repeat([]byte{byte(padLen)}, padLen) 15 padText := bytes.Repeat([]byte{byte(padLen)}, padLen)
16 return append(src, padText...) 16 return append(src, padText...)
17} 17}
18 18
19func Unpad(src []byte, blockSize int) ([]byte, error) { 19func unpad(src []byte, blockSize int) ([]byte, error) {
20 srcLen := len(src) 20 srcLen := len(src)
21 paddingLen := int(src[srcLen-1]) 21 paddingLen := int(src[srcLen-1])
22 if paddingLen >= srcLen || paddingLen > blockSize { 22 if paddingLen >= srcLen || paddingLen > blockSize {
@@ -51,7 +51,7 @@ func makeAESIV() ([]byte, error) {
51func Encrypt(payload []byte, key string) ([]byte, []byte, error) { 51func Encrypt(payload []byte, key string) ([]byte, []byte, error) {
52 ct := make([]byte, len(payload)) 52 ct := make([]byte, len(payload))
53 copy(ct, payload) 53 copy(ct, payload)
54 ct = Pad(ct, aes.BlockSize) 54 ct = pad(ct, aes.BlockSize)
55 55
56 iv, err := makeAESIV() 56 iv, err := makeAESIV()
57 if err != nil { 57 if err != nil {
@@ -127,7 +127,7 @@ func decryptCBC(payload, iv []byte, key string) ([]byte, error) {
127 mode := cipher.NewCBCDecrypter(block, iv) 127 mode := cipher.NewCBCDecrypter(block, iv)
128 mode.CryptBlocks(b, payload) 128 mode.CryptBlocks(b, payload)
129 129
130 u, err := Unpad(b, aes.BlockSize) 130 u, err := unpad(b, aes.BlockSize)
131 if err != nil { 131 if err != nil {
132 return nil, err 132 return nil, err
133 } 133 }