博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
强名称程序集(strong name assembly)——为程序集赋予强名称
阅读量:4641 次
发布时间:2019-06-09

本文共 840 字,大约阅读时间需要 2 分钟。

         引言

                 在曾经的项目开发中,在程序集中见到过一个后缀为*.snk的文件。当时看这个文件的图标。感觉可能是企业内部保护版权啥的一种方式。

  一,强程序集攻克了哪些问题?

1,唯一标识一个程序集

2,放置程序集被仿冒和被篡改。

3,能够部署到全局程序集缓存(GAC:GlobalAssembly Cache)中;在将强名称程序集不熟在GAC其中以后,强名称程序集也能够称为共享程序集(shared assembly

二,强名称与GAC

        

强名称:

定义了一个规则,不单单以文件名称来区分程序集,这个规则就是强名称。

 

GAC

定义一个特殊的目录,这个目录能够识别这样的规则。而且同意文件名称同样的文件存在,这个特殊的目录就是GAC

三,为程序集赋予强名称

         打开VS 开发者命令提示工具:

              首先,我们来创建公钥私钥文件。使用 sn -k命令:

             

         然后我们会发如今此目录下创建LHC.snk成功:

           

须要注意的地方:

1。每次调用sn时候,创建的私钥/密钥对文件都不同样,不仅自己的计算机每次生成的不同,其它全部计算机生成的也不同样。

2。关于这个文件的命名。假设是个人。能够以自己的名字命名。假设是团队。。组织火公司,能够以组织名称来命名。

3,在大多数情况下,个人和组织仅仅须要一个snk文件就能够了。以后创建强名称的时候,都使用这个snk文件。因为会使用snk文件的私钥对强名称程序集进行签名,因此这个文件必须严密保护。

 

上面创建的LHC.snk里面既包括公钥。也包括私钥。

公钥能够使用sn.exe查看。可是私钥无法查看。

    假设须要查看公钥的话。能够使用 sn -p命令:

    

      之后使用sn -tp命令查看*.pk文件:

     

     创建好这个公钥私钥文件之后,我们就能够使用它来标识程序集的唯一性了。

     在须要设置的程序集中,为此程序集设置签名属性:

        

       保存之后再观察此程序集,会发现多出来一个文件:

      

转载于:https://www.cnblogs.com/yfceshi/p/6938230.html

你可能感兴趣的文章
Java的内存泄漏
查看>>
152-PHP htmlspecialchars函数
查看>>
061-PHP函数定义默认参数
查看>>
Genymotion下载模拟器失败解决方案
查看>>
The Apostrophe and the Quote Function ‘和引用函数 未翻译完)
查看>>
win8开发入门——国际化(多语言支持)
查看>>
科学计算三维可视化---Mayavi入门(Mayavi库的基本元素和绘图实例)
查看>>
python学习笔记-问题
查看>>
您对无法重新创建的表进行了更改或者启用了“阻止保存要求重新创建表的更改”选项【转】...
查看>>
生理周期
查看>>
(蓝桥杯)第八届A组C/C++方格分割
查看>>
react 版的知乎日报
查看>>
使用CSS3制作漂亮的按钮
查看>>
sql server 2014登录账号
查看>>
使用OutputDebugString输出调试信息
查看>>
leetcode 之Candy(12)
查看>>
kv.go
查看>>
利用截取字符串,生成已声明的字符串中的4位随机验证码。
查看>>
Spring 事务模型
查看>>
【MM系列】SAP S/4 HANA BP创建客户/供应商的一点想法
查看>>