当前位置:  开发笔记 > 编程语言 > 正文

公钥如何用于在.NET程序集中解密?

如何解决《公钥如何用于在.NET程序集中解密?》经验,为你挑选了1个好方法。

.NET签名的程序集包含公钥,但公钥用于RSA中的加密,那么.NET如何使用公钥解密签名的程序集?

好吧,签名的程序集包含哈希,但哈希是使用私钥而不是公钥加密的.因此,.NET私钥中的原因和方式用于加密和公钥用于解密.我的意思是,所有像RSACryptoPad这样的软件都使用公钥进行加密而不是解密.



1> Dave Webb..:

公钥 - 私钥对不用于加密整个程序集.相反,它用于签署程序集.

简化一点,签署一个文件 - 比如一个程序集 - 你拿一个文件的哈希值,然后用你的私钥密切那个哈希值.使用该文件的人通过自己对文件进行哈希验证您的签名,然后使用您的公钥解密加密的哈希,并确认这两个哈希是相同的.这证明了两件事:

    该组件来自声称来自 - 即您 - 的人 - 因为它是使用您的私钥生成的.

    由于您在发布程序集时所做的哈希与当前程序集相同,因此程序集未被其他人更改.没有人可以改变已签名的程序集,因为他们还必须对需要您的私钥的加密哈希进行相应的更改.

这篇维基百科文章中有关于数字签名的更多细节.

关于公钥 - 私钥对的好处是它们可以以任何方式工作.因此,使用您的私钥加密的内容只能使用您的公钥解密,但使用您的公钥加密的内容也可以使用您的私钥解密.后一种用法意味着如果有人想要向您发送内容而只有您,则可以使用您免费提供的公钥对其进行加密,但他们知道只有您使用私钥才能对其进行解密.

由于密钥只能成对使用 - 使加密不对称 - 其他人不能简单地反转他们用公钥完成的加密,以便向您发送消息.

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有