Я занимаюсь разработкой проекта с помощью Asp.net, и у меня есть метод шифрования. когда я использую его для шифрования строки, он возвращает строку, содержащую некоторые символы, такие как «+», и, поскольку я использую его возвращенные значения в строке запроса, мне нужно удалить эти символы
например:
http://localhost/Cpanel/CompanyInfo/Hotels/EditHotel/VKWbk+G9F6E=
Ошибка: ошибка HTTP 404.11 - не найдена
Модуль фильтрации запросов настроен на отклонение запроса, который содержит двойную escape-последовательность.
http://localhost/Cpanel/CompanyInfo/Hotels/EditHotel/bprrmsZ6atI=
Отлично работает
это мой метод шифрования:
public static string EncryptString(string Message)
{
string Passphrase = System.Configuration.ConfigurationSettings.AppSettings["CryptographyKey"];
byte[] Results;
System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();
//Hash the passphrase using MD5
MD5CryptoServiceProvider HashProvider = new MD5CryptoServiceProvider();
byte[] TDESKey = HashProvider.ComputeHash(UTF8.GetBytes(Passphrase));
TripleDESCryptoServiceProvider TDESAlgorithm = new TripleDESCryptoServiceProvider();
TDESAlgorithm.Key = TDESKey;
TDESAlgorithm.Mode = CipherMode.ECB;
TDESAlgorithm.Padding = PaddingMode.PKCS7;
byte[] DataToEncrypt = UTF8.GetBytes(Message);
try
{
ICryptoTransform Encryptor = TDESAlgorithm.CreateEncryptor();
Results = Encryptor.TransformFinalBlock(DataToEncrypt, 0, DataToEncrypt.Length);
}
finally
{
TDESAlgorithm.Clear();
HashProvider.Clear();
}
return HttpUtility.HtmlEncode(Convert.ToBase64String(Results));
}
как я могу это сделать?