AES解密
(encrypted []byte, key []byte)
| 72 | |
| 73 | //AES解密 |
| 74 | func AesDecryptCBC(encrypted []byte, key []byte) (decrypted []byte) { |
| 75 | block, _ := aes.NewCipher(key) // 分组秘钥 |
| 76 | blockSize := block.BlockSize() // 获取秘钥块的长度 |
| 77 | blockMode := cipher.NewCBCDecrypter(block, key[:blockSize]) // 加密模式 |
| 78 | decrypted = make([]byte, len(encrypted)) // 创建数组 |
| 79 | blockMode.CryptBlocks(decrypted, encrypted) // 解密 |
| 80 | decrypted = PKCS5UnPadding(decrypted) // 去除补全码 |
| 81 | return decrypted |
| 82 | } |
| 83 | func PKCS5UnPadding(origData []byte) []byte { |
| 84 | length := len(origData) |
| 85 | // 去掉最后一个字节 unpadding 次 |
no test coverage detected