C# DSACryptoServiceProvider:VerifySignature与SignData
我正在尝试使用C# DSACryptoServiceProvider:VerifySignature与SignData,c#,sign,dsa,C#,Sign,Dsa,我正在尝试使用DSACryproServiceProvider。 但是我有点困惑,因为我看不出两者之间的区别 a) dsa.VerifySignature() b) dsa.VerifyData() 另外,我希望dsa.CreateSignature()只为给定数据创建签名,而dsa.SignData()返回签名数据。这是正确的吗 感谢您的回复。不同之处在于CreateSignature需要一个哈希值。它不执行散列,类似地,VerifySignature需要一个散列值进行验证。例如,如果需要自定
DSACryproServiceProvider
。
但是我有点困惑,因为我看不出两者之间的区别
a) dsa.VerifySignature()
b) dsa.VerifyData()
另外,我希望dsa.CreateSignature()
只为给定数据创建签名,而dsa.SignData()
返回签名数据。这是正确的吗
感谢您的回复。不同之处在于
CreateSignature
需要一个哈希值。它不执行散列,类似地,VerifySignature
需要一个散列值进行验证。例如,如果需要自定义散列,可以使用此选项
SignData
和VerifyData
对数据缓冲区执行哈希运算。散列本身是SHA1
,引用:
DSA使用SHA1哈希算法
DSACryptoServiceProvider
有点旧,如果可以,您应该使用RSACryptoServiceProvider
,引用以下内容:
新的非对称算法可用。考虑使用RSURPyTraceVeServices类,而不使用DCurrPyStoReVIEVAsvices类。DSACryptoServiceProvider仅用于与旧式应用程序和数据兼容