Используйте DataProtection для снятия защиты, выдает "Полезная нагрузка недействительна"C#

Место общения программистов C#
Ответить
Anonymous
 Используйте DataProtection для снятия защиты, выдает "Полезная нагрузка недействительна"

Сообщение Anonymous »


Я зашифровал строку с помощью .net Framework 4.8:

var dataProtectionProvider = DataProtectionProvider.Create(new DirectoryInfo(@"d:\SharedKeys\"), builder => { builder.SetApplicationName("myApp"); }); var dataProtector = dataProtectionProvider.CreateProtector("Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationMiddleware", "Cookies", "v2"); var text = dataProtector.Protect("abc"); Результат: CfDJ8GHt0XxGzaFBlFEwKShBTYZTKFl3jI6DiCAmTaackE0ymGCf_WeBXN2CL4RHN1i9o5kK5fms-9ZmFHV8-e-3bRd0yR5YOxBdcQoxajS9vCe5lrMNZ0gze0PZ-yfV8kqSM В";

Затем я использую .net SDK 6.0 для его расшифровки:

var ProtectionProvider = DataProtectionProvider.Create( new DirectoryInfo(@"d:\SharedKeys\"), cfg => cfg.SetApplicationName("myApp")); вар dataProtector = ProtectionProvider.CreateProtector( «Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationMiddleware», «Cookie», «v2»); результат вар = dataProtector.Unprotect( "CfDJ8GHt0XxGzaFBlFEwKShBTYZTKFl3jI6DiCAmTaackE0ymGCf_WeBXN2CL4RHN1i9o5kK5fms-9ZmFHV8-e-3bRd0yR5YOxBdcQoxajS9vCe5lrMNZ0gze0PZ-yfV8kqSMQ"); но выдает "Полезная нагрузка недействительна":
if (!CryptoUtil.TimeConstantBuffersAreEqual(correctHash, 0, CorrectHash.Length, protectedPayload.Array!, macOffset, eofOffset - macOffset)) { бросить Error.CryptCommon_PayloadInvalid(); // ошибка проверки целостности }
Похоже, что Mac неправильный. кто-нибудь знает, как это исправить?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»