Как проверить, было ли дешифрование успешно?

При использовании алгоритма шифра из openssl библиотеки можно зашифровать и дешифровать любые данные.

Кроме того, любые данные могут быть зашифрованы (дешифрованные) с любым key\iv. Нет никакого пути в openssl, чтобы сказать, было ли дешифрование успешно или нет. Это - просто некоторое математическое преобразование.

Так, что должно я делать, чтобы быть уверенным, что шифрование было успешно: то, что некоторые данные были дешифрованы с тем же key/iv, который они были зашифрованы?

Я должен добавить некоторые ВОЛШЕБНЫЕ байты перед данными, которые должны быть проверены после дешифрования?

10
задан Marko Kevac 31 December 2009 в 11:07
поделиться

2 ответа

Вместо того, чтобы использовать директиву OutputCache, вы можете сделать то же самое программным путем, как показано ниже:

if (yourArbitraryCondition) {
  OutputCacheParameters outputCacheSettings = new OutputCacheParameters();
  outputCacheSettings.Duration = 60;
  InitOutputCache(outputCacheSettings);
}

Выполнение этого из OnInit должно работать нормально. И очевидно, что вы можете изменить поведение кэширования, установив различные свойства в OutputCacheParameter, который имеет все те же ручки, что и директива (на самом деле, это то, что мы генерируем при использовании директивы).

Ключевым пунктом является то, что вы выполняете эту логику только условно, в то время как директива делает ее безусловной.

UPDATE:

В качестве альтернативы можно использовать низкоуровневый API-интерфейс кэша, на котором построен указанный выше код. Например,

HttpCachePolicy cache = Response.Cache;
cache.SetCacheability(HttpCacheability.Public);
cache.SetExpires(Context.Timestamp.AddSeconds(60));
cache.VaryByParams["categoryName"] = true;

В основном, это другой способ сделать то же самое без использования какого-либо API, помеченного как «не должно называться». В конце концов, любой способ сработает, так что возьми свой выбор.

-121--2138873-

Мне повезло в прошлом с такими сайтами, как OpenDesigns и FreeCSSTemplates - они предлагают (в основном) лицензированные CC HTML шаблоны; вы должны будете сами добавить шаблон Джанго. Однако, как отметил Джеймс, большинство из них поднимут тебя на ноги, но ты почти всегда хочешь сделать шаг дальше.

Мой совет: создайте небольшую библиотеку повторно используемых шаблонов (используя материалы с вышеперечисленных сайтов), получите действительно удобное редактирование HTML и CSS (потому что вы будете редактировать HTML и CSS), затем найти некоторые kickass дизайнеры (желательно локальные) и получить действительно дружественные с ними. Возможно, вы можете торговать одолжениями; вы делаете некоторые работы по кодированию для них, бесплатно, и взамен они делают некоторые дизайнерские работы для вас. Я обнаружил, что даже если вам придется заплатить, хороший дизайнер хорошо стоит денег (серьезно, кто хочет провести свое время тестирования сайтов в IE6?).

Удачи с вашим поиском - я, например, хотел бы увидеть ваши выводы.

-121--3690584-

Контрольную сумму (например, MD5 исходного содержимого) можно добавить в конец файла. После расшифровки последние 16 байт должны снова равняться md5 (содержимое - 16 байт)

8
ответ дан 4 December 2019 в 01:57
поделиться

Из многих возможных решений, возможно, стоит рассмотреть использование CRC.

1
ответ дан 4 December 2019 в 01:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: