加密及算法
// AES加密
func Encrypt(key string, iv string, data string) string {
if len(data) == 0 {
return ""
}
key2, _ := base64.StdEncoding.DecodeString(key)
iv2, _ := base64.StdEncoding.DecodeString(iv)
block, _ := aes.NewCipher(key2)
bs := block.BlockSize()
originData := _PKCS5Padding([]byte(data), bs)
cipher.NewCBCEncrypter(block, iv2).CryptBlocks(originData, originData)
data = base64.StdEncoding.EncodeToString(originData)
return data
}
// AES解密
func Decrypt(key string, iv string, data string) string {
if len(data) == 0 {
return ""
}
key2, _ := base64.StdEncoding.DecodeString(key)
iv2, _ := base64.StdEncoding.DecodeString(iv)
block, _ := aes.NewCipher(key2)
originData, err := base64.StdEncoding.DecodeString(data)
if err != nil {
return ""
}
cipher.NewCBCDecrypter(block, iv2).CryptBlocks(originData, originData)
data = string(_PKCS5UnPadding(originData))
return data
}
修改于 2024-04-08 00:56:03