Генерация XML-документа хеширует в C#

Давайте посмотрим, быстрое сравнение:

SQLite:

  • динамический контроль типов в базе данных
  • межплатформенные файлы
  • работают на Windows, Linux, Mac, и т.д.
  • общественное достояние
  • , транзакции поддержек
  • полагаются на защиту файловой системы, не включает собственную безопасность

встроенный Firebird:

  • строгий контроль типов в базе данных
    • не все типы данных SQL поддерживаются
  • межплатформенные файлы
    • , Firebird встроил, только работает на Windows
    • Files от встроенного Firebird, находятся в том же формате, как полная серверная версия
    • Файлы от встроенного Firebird может быть скопирована в сервер не-Windows для использования
  • доступный под измененным MPL ("что является нашим, является нашим и должен остаться свободным, что является Вашим, является Вашим, и Вы не должны выпускать его")
  • транзакции поддержек, триггеры, и т.д.

встроенный MySQL:

  • поддержка функций SQL зависит от формата файла
  • межплатформенные файлы (IIRC)
  • GPL, если Вы не платите, роялти
  • работает на Windows, Linux, Mac
  • , невероятно популярном у толпы с открытым исходным кодом

, Даже встроенные базы данных имеют свои достоинства и недостатки. Необходимо будет взвесить те достоинства и недостатки против того, что Вы делаете для решения.

10
задан M. Dudley 5 October 2009 в 17:04
поделиться

2 ответа

.NET имеет классов , которые реализуют спецификацию цифровой подписи XML . Подпись может быть добавлена ​​в исходный XML-документ (т.е. «подпись в конверте») или сохранена / передана отдельно.

Это может быть немного излишним, поскольку вам не нужна безопасность, но у нее есть то преимущество, что она уже реализован и является стандартом, не зависящим от языка или платформы.

10
ответ дан 3 December 2019 в 21:22
поделиться

Вы можете использовать пространство имен криптографии:

System.Security.Cryptography.MACTripleDES hash = new System.Security.Cryptography.MACTripleDES(Encoding.Default.GetBytes("mykey"));
string hashString = Convert.ToBase64String(hash.ComputeHash(Encoding.Default.GetBytes(myXMLString)));

Вам просто нужно использовать ключ для создания хеширующего криптографа, а затем создать хэш со строковым представлением вашего xml.

5
ответ дан 3 December 2019 в 21:22
поделиться
Другие вопросы по тегам:

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