这可能是一个问题http://crypto.stackexchange.com ,但我想我会尝试在这里第一次的答案可能涉及到.NET,而不是加密算法本身。
在的RSACryptoServiceProvider类 ,有一个方法SignHash ,其中:
通过与私有密钥将其加密计算指定散列值的签名。
第一个参数是数据的哈希值(这似乎是公平的),但第二个是一个字符串,说明用于创建散列值的算法。
问题是为什么散列算法回事? 当然所有的方法需要做的是用自己的私钥加密给定值,并返回结果? 如果它确实需要知道,为什么不的RSACryptoServiceProvider有哪些做到了这一点(连同适当的验证方法)的方法?