尛丶MaTure
2017-03-20 16:25关于C# AES加密的PaddingMode的问题
20 public static string AesEncrypt(string str, string key, string iv)
{
if (string.IsNullOrEmpty(str)) return null;
Byte[] toEncryptArray = Encoding.UTF8.GetBytes(str);
byte[] keyArr = Encoding.UTF8.GetBytes(key);
byte[] ivArr = Encoding.UTF8.GetBytes(iv);
System.Security.Cryptography.RijndaelManaged rm = new System.Security.Cryptography.RijndaelManaged();
/***************************这里有问题*****************************/
rm.Padding = System.Security.Cryptography.PaddingMode.None;
/******************************************************************/
rm.Mode = System.Security.Cryptography.CipherMode.CFB;
rm.BlockSize = 128;
System.Security.Cryptography.ICryptoTransform cTransform = rm.CreateEncryptor(keyArr, ivArr);
Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}
方法调用
String str = "appid=pm93c050eb69884a50&appsecret=b24ee0ef-73be-4a9a-a884-e0c0e27c×tamp=1489732369";
string aa = AesEncrypt(str, "dha@wjw$pvms9wwl", "8807599889957088");
PaddingMode设置成PaddingMode.None 不填充时 总会报错
有人知道这个问题怎么解决吗
```
- 点赞
- 回答
- 收藏
- 复制链接分享
3条回答
为你推荐
- 将PHP中的Aes加密转换为c#
- aes
- encryption
- php
- c#
- 2个回答
- 使用AES 256 C#php加密和解密非常长的字符串
- aes
- encryption
- php
- c#
- cryptography
- 1个回答
- 解密在PHP中加密的C#中的数据时如何修复无效密钥大小
- openssl
- encryption
- php
- c#
- 1个回答
- ASP.Net button第一次点击js中的回调函数不执行,第二次点击才执行
- javascript
- 浏览器
- asp.net
- 3个回答