diff options
author | Mike Crute <mike@crute.us> | 2022-08-04 18:03:29 -0700 |
---|---|---|
committer | Mike Crute <mike@crute.us> | 2022-08-04 18:03:29 -0700 |
commit | 56a7aef4b2edc5a3405a19220bd8b151ebe45397 (patch) | |
tree | 29099079ccbe7119703ea7709ad59ed8185de8fb | |
parent | 74261a98d6cf34006a28bb90433ccf2ee4ec915d (diff) | |
download | go-inform-56a7aef4b2edc5a3405a19220bd8b151ebe45397.tar.bz2 go-inform-56a7aef4b2edc5a3405a19220bd8b151ebe45397.tar.xz go-inform-56a7aef4b2edc5a3405a19220bd8b151ebe45397.zip |
Hide some crypto functions
-rw-r--r-- | inform/crypto.go | 8 |
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 | ||
13 | func Pad(src []byte, blockSize int) []byte { | 13 | func 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 | ||
19 | func Unpad(src []byte, blockSize int) ([]byte, error) { | 19 | func 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) { | |||
51 | func Encrypt(payload []byte, key string) ([]byte, []byte, error) { | 51 | func 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 | } |