У меня очень странная проблема, и я понятия не имею, что может быть причиной.
Клиент сегодня утром отправил мне электронное письмо о том, что некоторые клиенты получают сообщение об ошибке при попытке просмотра его веб-сайта, он также получил сообщение об ошибке, но затем, при повторной попытке, это сработало.
Глядя на логи, ошибка с Chrome 65 и 67, я использую 67 и не получаю ошибку.
Ниже приведена строка запроса, которая зашифрована, для клиента она никогда не работала, а для меня работала:
AQAAANCMnd8BFdERjHoAwE% 2fCl% 2bsBAAAA0PyFDdX% 2brkGTpXZG7C49nAQAAAACAAAAAAAQZgAAAAEAACAAAACI39m3OhUEFw3GBxXP% 2bsVpw6zLJOqRkcJx1% 2bFPcozLZgAAAAAOgAAAAAIAACAAAAAJpDYiaxnPjDprOQEA9u02% 2bU0% 2fDQDCIF7sXsjxaU3onYAAAACWWCv% 2bKNSRbQjLTNeJjgE37yHviV1UmfJyoUn% 2fcUg% 2f0MTr23% 2b16qZs9F% 2fDNm4wU% 2bJITVn3xXuarzcNB6ClJ2ZpwtEsMdUNBRUW0B7XA9% 2bQjC69V1O2XqTp% 2fgXQazHOITEBpgokD1tSbnv4pRMUfkVlogYoo0H9Lnf24FEDEnSp30AAAACwtnrmVACY71% 2bcAAMANRoCuihUumid0i8P75KV0ZlUIRBXyOzASHwq9I7icvXWDbI2nNOa0mQDOgNdvZEti% 2bYz
Ниже приведен мой код, я надеюсь, что проблема в этом, но, поскольку у некоторых клиентов есть проблема, а у некоторых нет, я не задерживаю дыхание.
var encrtptUserId = EncryptionDecryption.WindowsEncrypted(encryptQueryParameters);
string urlToValidateUser = $"{baseUrl}?id={HttpUtility.UrlEncode(encrtptUserId)}";
public static string WindowsEncrypted(string text)
{
return Convert.ToBase64String(ProtectedData.Protect(Encoding.Unicode.GetBytes(text), null, DataProtectionScope.LocalMachine));
}
public static string WindowsDecrypted(string text)
{
return Encoding.Unicode.GetString(ProtectedData.Unprotect(Convert.FromBase64String(text), null, DataProtectionScope.LocalMachine));
}
Проблема связана с дешифрованием, но не всегда
Любая помощь будет оценена.