创建加密字符串时:
using(var cryptoProvider = new DESCryptoServiceProvider())
{
cryptoProvider.Key = Convert.FromBase64String(Key);
cryptoProvider.IV = Convert.FromBase64String(Key);
var encryptedString = cryptoProvider
.CreateEncryptor()
.TransformFinalBlock(serializedBytes, 0, serializedBytes.Length);
return Convert.ToBase64String(encryptedString);
有没有办法阻止它使用某些字符?实际引起问题的字符是“+”号。当 asp.net 解码并且(例如)+ 号变成空格时,问题就很明显了。
可能还有其他字符会落入同一问题,但 + 号似乎是我遇到的唯一一个问题。有没有办法让加密不使用某个字符,或者在我的加密逻辑中防止这种情况发生?