首页 新闻 会员 周边

C# 程序集 强名称 公钥 私钥 这些是什么东西 干什么用的,谁能举个形象的例子?

0
悬赏园豆:10 [已解决问题] 解决于 2011-02-22 10:40

C#  程序集  强名称 公钥 私钥 这些是什么东西 干什么用的,谁能举个形象的例子?

dbfox的主页 dbfox | 初学一级 | 园豆:2
提问于:2011-02-16 11:12
< >
分享
最佳答案
1

程序集就是你的程序编译的最小单位,放你source code编译之后的小盒子,其实就是dll或者exe

强名称就是给这个盒子起个名,并且是其它人可以识别并且认可的,这样才允许你放在GAC中,也就是盒子托管给系统,让别人使用。

公钥就是盒子公开的钥匙。

私钥就是盒子单独的钥匙,就你知道。

公钥加密,私钥解密。公钥上锁,私钥开锁。

大概就是这么个意思,想要详细了解还是看看clr via c#的好。

收获园豆:5
xiao_p | 小虾三级 |园豆:608 | 2011-02-16 16:19
其他回答(1)
0

拥有密钥才能调用强命名的程序集,意味着你的程序集即使被别人获取了,他也无法调用(当然需要他无法反编译)。

VS使用了私钥来对您开发的程序集进行签名。

签名后的程序集即强命名的程序集。

在其他的项目中如果想使用签了名的程序集,则需要相应的公钥来验证强命名的程序集的签名。

验证通过即可使用该程序集,若没有公钥则必然无法调用。

收获园豆:5
massinger | 园豆:706 (小虾三级) | 2011-02-18 19:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册