2010-12-27 7 views
0

例えば、MicrosoftはSHA1の実装としてSHA1ManagedとSHA1CryptoServiceProvider(管理対象外)の両方を提供します。なぜ一つは、System.Security.Cryptographyハッシュの管理されていない実装を使用しますか?

管理対象の実装ではなくアンマネージ実装を使用するメリットとデメリットは何ですか?

ありがとうございました!

更新:

SLaks、Chochosからの回答、及びfejesjoco非常に有用であったが、彼はに私に尋ねたので、私はSLaksを選びました。要約として:-)

、選択します。

マネージド
  • を - あなたはあなたのプラットフォームが管理対象外の実装(すなわち、あなたはアズールにデプロイしている場合)をサポートしているかどうかわからない場合。
  • アンマネージド - Federal Information Processing Standard (FIPS)に準拠する必要がある場合、および/または強く加速することを望む場合。
+0

管理されていない変異体が速く*長いメッセージのための*です。驚いたことに、マネージドバリアントは*ショートメッセージ*のほうが高速です。 – CodesInChaos

答えて

4

CSPの実装はFIPSです。

ローカルセキュリティポリシーでFIPSが有効になっている場合、* Managedクラスは例外をスローします。

+0

うわー!私はそれについて知らなかった - それを考慮に入れなければならないだろう。ありがとうございました! –

+0

@Adam:どうぞよろしくお願いいたします。この回答は、中空チェックをクリックして受け入れる必要があります。ちょうど彼の質問が強くなり – SLaks

0

管理対象の実装がプラットフォームに依存しないことが保証されていると仮定します。

+1

。 – SLaks

1

ハードウェア暗号化アクセラレータを使用している場合は、管理された実装がそれを使用しないため、アンマネージ実装を使用してアクセスする必要があります。

+0

うーん...私たちは、Azureの上で導入検討している - 私はアズールがで... –

+0

建ての暗号化アクセラレーションの任意の並べ替えを持っている場合、私は非常にアズールは、任意の暗号化アクセラレータを持って疑うだろう。 Azureでデプロイすることを知っているので、管理された実装を使用することをお勧めします。 – Chochos

+0

申し訳ありませんが、アドバイスありがとうございます! –

関連する問題