MCPcopy
hub / github.com/inbug-team/InScan / AesEncrypt

Function AesEncrypt

generate_exec/generate_exec.go:71–89  ·  view source on GitHub ↗

AES CBC 加密

(orig string, key string)

Source from the content-addressed store, hash-verified

69
70// AES CBC 加密
71func AesEncrypt(orig string, key string) string {
72 // 转成字节数组
73 origData := []byte(orig)
74 k := []byte(key)
75 // 分组秘钥
76 // NewCipher该函数限制了输入k的长度必须为16, 24或者32
77 block, _ := aes.NewCipher(k)
78 // 获取秘钥块的长度
79 blockSize := block.BlockSize()
80 // 补全码
81 origData = PKCS7Padding(origData, blockSize)
82 // 加密模式
83 blockMode := cipher.NewCBCEncrypter(block, k[:blockSize])
84 // 创建数组
85 cryData := make([]byte, len(origData))
86 // 加密
87 blockMode.CryptBlocks(cryData, origData)
88 return base64.StdEncoding.EncodeToString(cryData)
89}
90
91// AES CBC 解码
92func AesDecrypt(cry string, key string) string {

Callers 1

AppendExecFunction · 0.85

Calls 1

PKCS7PaddingFunction · 0.85

Tested by

no test coverage detected