go语言实现aes_cbc_pkcs5padding_base64_utf8 加密解密
下面是一个用Go语言实现的 AES-CBC 模式 + PKCS5Padding + Base64 编码 + UTF-8 字符串 的加解密完整源码。
该实现满足以下要求:
明文 UTF-8 字符串
使用 AES-CBC 模式加密
填充采用 PKCS5Padding(其实Go标准库只实现了PKCS7Padding的填充方式,PKCS5Padding只是块大小限定为8的PKCS7Padding,这里直接用PKCS7Padding即可,适用于AES块大小16字节)
加密输出为 Base64 编码字符串
解密函数支持 Base64 输入,返回 UTF-8 字符串
请阅读注释,直接拷贝可用!
package main
import (
"bytes"
"crypto/aes"
"crypto/cipher"