Зачем использовать неуправляемую реализацию хэша System.Security.Cryptography? - PullRequest
0 голосов
/ 27 декабря 2010

Например, Microsoft предоставляет как SHA1Managed, так и SHA1CryptoServiceProvider (Unmanaged) в качестве реализаций SHA1.

Каковы, если таковые имеются, преимущества и недостатки использования неуправляемой реализации вместо управляемой реализации?

Спасибо за любую помощь!

Обновление:

Ответы от SLaks, Chochos и fejesjoco были очень полезны, но я выбрал SLaks, потому что он попросил меня. : -)

В качестве резюме выберите:

  • Управляемый - если вы не уверены, поддерживает ли ваша платформа неуправляемые реализации (т.е. если вы развертываете в Azure).
  • Неуправляемый - если вам необходимо соблюдать Федеральный стандарт обработки информации (FIPS) *1019* и / или вы хотите воспользоваться преимуществом ускоренного ускорения.

Ответы [ 3 ]

4 голосов
/ 27 декабря 2010

Реализация CSP FIPS сертифицирована.

Если в локальной политике безопасности включен FIPS, * Управляемые классы будут выдавать исключение.

1 голос
/ 27 декабря 2010

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

0 голосов
/ 27 декабря 2010

Я предполагаю, что управляемая реализация гарантированно не зависит от платформы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...