.NET中的强名称机制
来源:互联网 发布:java换ip刷页面访问量 编辑:程序博客网 时间:2024/06/10 16:36
一个程序集包括四个区分彼此的属性:
l 文件名(不包括扩展)
l 版本号
l 文化标识
l 公钥标识
现在让我们来看看一个比较常见的强名称程序集:
l Name= MSCorLib
l Version=1.0.3300.0
l Culture=neutral
l PublicKeyToken=b77a5c561934e089
如果我们自己编写一个弱名称程序集,那么通常PublicKeyToken这一项就没有。
下面我尝试着说一说强名称的机制。
首先,你通过SN.exe获得一个公钥和一个密钥。
然后,使用公钥对程序集的可执行文件(不包括DOS头、PE头等)进行哈希算法,得到一个文件散列值。
最后,使用密钥对文件散列值进行加密,得到一个密文。
这样,最后的强名称程序集里面要三样东西:
l 公钥标识(公钥的散列值的最后八个字节)
l 公钥
l 密文
使用公钥和程序集的可执行文件(不包括DOS头、PE头等)进行哈希算法可以得到一个文件散列值,使用公钥和密文也可以得到一个文件散列值,如果这两个散列值完全一致,OK,验证通过。
最后,说说公钥标识(公钥的散列值的最后八个字节)的作用:
l 区分程序集,上面提到过它是程序集区分彼此的四大属性之一
l 验证公钥
总的来说,强名称机制最起码起到两个作用:
l 区分程序集
l 避免程序集被恶意更改
----------------------
修改工具:
- .NET中的强名称机制
- NET中的强名称机制
- NET中的强名称机制
- .NET的强名称
- .net 没有强名称
- .net程序集强名称签名实践
- .net程序集强名称签名实践
- .NET程序集强名称签名实践
- 图解.net程序集赋予强名称
- .NET中的强名
- NET中的强名
- .NET中的强名
- .NET中的强名
- .NET中的强签名
- 关于.Net的强名称(Strong Name)
- Asp.net中强签名dll:引用程序集没有强名称解决办法
- Asp.net中强签名dll:引用程序集没有强名称解决办法
- ADO.NET中的数据访问--强类型
- 在Linux中增加swap空间
- 于细微处见品质-YouMonitor.Us报表
- Linux性能分析工具(vmstat,iostat,sar)
- asp.net 页面事件:顺序与回传
- 如何得到 .NET Framework 安装的文件夹?
- .NET中的强名称机制
- 35岁成功人的12条黄金法则
- 有人机交互能力的排列组合算法(C++版)
- 有人机交互能力的排列组合算法(C++版)
- ASP.NET页面处理细节
- Apache参数设置
- 深度探究Unix现状与未来
- 有一种爱叫"守口如瓶"
- VC6调试技巧