我在解密AES加密数据时遇到问题 . 我从远程服务接收base64编码的加密缓冲区 . 使用PHP 128中的OpenSSL库,使用AES 128-cbc对数据进行加密 . 我试图以这种方式解密它:
var encryptedKey = Encoding.ASCII.GetString(key);
var rsaKey = Convert.FromBase64String(encryptedKey);
var ms = new MemoryStream();
var aes = RijndaelManaged.Create();
aes.Padding = PaddingMode.None;
aes.Mode = CipherMode.CBC;
aes.KeySize = 128;
aes.BlockSize = 128;
aes.Key = pwd;
aes.IV = pwd;
var stream = new CryptoStream(ms, aes.CreateDecryptor(), CryptoStreamMode.Write);
stream.Write(rsaKey, 0, rsaKey.Length);
var ss6 = Encoding.ASCII.GetString(ms.ToArray());
但是我的结果绝对无效 .
这是PHP中用于加密数据的代码:
($this->source, 'aes-128-cbc', $this->key, true, $this->key)
任何人都知道什么可能是错的?键和IV设置正确 .
谢谢
附:我已经尝试了所有可用的CipherModes :)密钥大小也是16个字节 .
1 回答
这就是我用来做的事情:
这是参数的含义:
这是实际的功能: