|
@@ -4,6 +4,7 @@ import (
|
|
|
"bytes"
|
|
|
"crypto/aes"
|
|
|
"crypto/cipher"
|
|
|
+ "errors"
|
|
|
)
|
|
|
|
|
|
var (
|
|
@@ -63,6 +64,9 @@ func (a *AesCrypto) Decrypt(crypted []byte) ([]byte, error) {
|
|
|
return nil, err
|
|
|
}
|
|
|
blockSize := block.BlockSize()
|
|
|
+ if len(crypted)%blockSize != 0 {
|
|
|
+ return nil, errors.New(`crypto/cipher: input not full blocks`)
|
|
|
+ }
|
|
|
blockMode := cipher.NewCBCDecrypter(block, a.IV[:blockSize])
|
|
|
origData := make([]byte, len(crypted))
|
|
|
blockMode.CryptBlocks(origData, crypted)
|