帮助数字签名散列(SHA1)字符串

时间:2010-08-31 14:09:06

标签: c# web-services digital-signature

我将数据发布到REST URI,采用带有标题和正文的xml片段形式。 正文是加密的,然后标题包含一个数字签名(这是一个用SHA1散列的加密主体,然后加密。 我的问题是,我如何创建签名。加密的方法是什么 - 我被告知要使用与Rinjdael加密体相同的共享密钥。

由于

2 个答案:

答案 0 :(得分:1)

您可以使用RSA进行签名。

这是一个链接:How to: Sign XML Documents with Digital Signatures

我不太确定使用与签名相同的加密密钥,因为RSA签名是一种公钥/私钥签名方法,允许使用私钥安全地创建签名,并且安全仅使用公钥在客户端验证。

作为补充,加密!=哈希。 SHA1是一种哈希算法,也就是说。单向不可逆功能。加密是可逆的。加密是一种双向功能。

答案 1 :(得分:1)

签名涉及非对称加密。

  • 发件人创建哈希并使用自己的私钥 =>对其进行加密签名
  • 接收方使用发件人的公钥解密签名。
  • 接收器散列接收的数据并比较本地散列和解密的散列
  • 如果匹配数据来自私钥的所有者

所以,您不使用(对称)Rijndael密钥。