Closed haiziyhf closed 2 months ago
V2版本: func AesCbcDecrypt(encrypted, key []byte) []byte { size := len(key) if size != 16 && size != 24 && size != 32 { panic("key length shoud be 16 or 24 or 32") }
block, _ := aes.NewCipher(key) iv := encrypted[:aes.BlockSize] encrypted = encrypted[aes.BlockSize:] mode := cipher.NewCBCDecrypter(block, iv) # iv 使用的 encrypted ,而在老版本中使用的是 key mode.CryptBlocks(encrypted, encrypted) decrypted := pkcs7UnPadding(encrypted) return decrypted
}
下面是老版本: func AesCbcDecrypt(encrypted, key []byte) []byte { block, _ := aes.NewCipher(key) blockSize := block.BlockSize() blockMode := cipher.NewCBCDecrypter(block, key[:blockSize])
decrypted := make([]byte, len(encrypted)) blockMode.CryptBlocks(decrypted, encrypted) decrypted = pkcs7UnPadding(decrypted) return decrypted
@haiziyhf 把v1版本升级到v1.4.3
V2版本: func AesCbcDecrypt(encrypted, key []byte) []byte { size := len(key) if size != 16 && size != 24 && size != 32 { panic("key length shoud be 16 or 24 or 32") }
}
下面是老版本: func AesCbcDecrypt(encrypted, key []byte) []byte { block, _ := aes.NewCipher(key) blockSize := block.BlockSize() blockMode := cipher.NewCBCDecrypter(block, key[:blockSize])
}