を使おうとしていDSACryproServiceProviderます。しかし、違いがわからないので、少し混乱しています
a)dsa.VerifySignature()
b)dsa.VerifyData()
さらに、署名されたデータを返しdsa.CreateSignature()ながら、指定されたデータの署名を作成するだけだと思います。dsa.SignData()これは正しいです?
返信ありがとうございます。
違いはCreateSignature、ハッシュ値を期待することです。ハッシュを実行せず、同様にVerifySignature、ハッシュされた値が検証されることを期待します。これは、たとえば、カスタム ハッシュが必要な場合に使用できます。
SignDataVerifyDataデータ バッファーでハッシュを実行します。ハッシュ自体はSHA1次のとおりです。
DSA は SHA1 ハッシュ アルゴリズムを使用します。
DSACryptoServiceProviderただし、少し古いので、可能であれば、MSDNRSACryptoServiceProviderから引用して使用する必要があります。
新しい非対称アルゴリズムが利用可能です。DSACryptoServiceProvider クラスの代わりに RSACryptoServiceProvider クラスを使用することを検討してください。DSACryptoServiceProvider は、レガシー アプリケーションおよびデータとの互換性のためにのみ使用してください。