不使用KeyContainerName可以对xml文档进行签名吗?我想创建2个非常简单的dll:1)将签署xml文档2)将检查xml文档是否未被修改。我尝试使用RSACryptoServiceProvider和一个密钥容器。但是当我移动到另一台机器时,这不起作用,因为密钥存储在机器中。我想将密钥存储在我创建的dll中(我知道不推荐这样做)但我不知道如何编写一些代码来简单地签署xml文档然后验证它没有被更改.所以我需要使用对称密钥来做我想做的事,这可能吗?私钥存放在dll中的问题Pete你已经提到了,我就不再赘述了。为此:在您自己的机器上运行以下代码:varkey=newRSACryptoServiceProvider(2048);字符串publicKey=key.ToXmlString(false);字符串privateKey=key.ToXmlString(true);控制台.WriteLine(公钥);控制台.WriteLine(privateKey);这输出两条(长)线。将它们复制到您的代码中:Flags:varprivateKey=newRSACryptoServiceProvider();privateKey.FromXmlString(/*在此处插入私钥XML字符串*/);privateKey.SignData(/*...*/);验证:varpublicKey=newRSACryptoServiceProvider();publicKey.FromXmlString(/*在此处插入公钥XML字符串*/);publicKey.VerifyData(/*...*/);如果您想验证您的xml文档是否未修改,实现一个简单的MD5校验和(或任何其他好的哈希算法)会更容易,这正是您所需要的。也可以在不同的机器上验证。以上是C#学习教程:不使用KeyContainerName可以对xml文档进行签名吗?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
