aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 }