MCPcopy Create free account
hub / github.com/TideSec/GoBypassAV / AesDecryptByECB

Function AesDecryptByECB

Encryption/AES_code/main.go:41–61  ·  view source on GitHub ↗
(data, key string)

Source from the content-addressed store, hash-verified

39}
40
41func AesDecryptByECB(data, key string) string {
42 // 判断key长度
43 keyLenMap := map[int]struct{}{16: {}, 24: {}, 32: {}}
44 if _,ok := keyLenMap[len(key)]; !ok {
45 }
46 // 反解密码base64
47 originByte, _ := base64.StdEncoding.DecodeString(data)
48 // 密钥和待加密数据转成[]byte
49 keyByte := []byte(key)
50 // 创建密码组,长度只能是16、24、32字节
51 block, _ := aes.NewCipher(keyByte)
52 // 获取密钥长度
53 blockSize := block.BlockSize()
54 // 创建保存解密变量
55 decrypted := make([]byte, len(originByte))
56 for bs, be := 0, blockSize; bs < len(originByte); bs, be = bs+blockSize, be+blockSize {
57 block.Decrypt(decrypted[bs:be], originByte[bs:be])
58 }
59 // 解码
60 return string(PKCS7UNPadding(decrypted))
61}
62// 解码
63func PKCS7UNPadding(originDataByte []byte) []byte {
64 length := len(originDataByte)

Callers 1

mainFunction · 0.85

Calls 1

PKCS7UNPaddingFunction · 0.85

Tested by

no test coverage detected