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