|
| |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
一个程序集包括四个区分彼此的属性: 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 避免程序集被恶意更改 返回类别: 教程 上一教程: ASP.NET可交互式位图窗体设计(5) 下一教程: ADO+ 引导数据种类的演变(转自 ms 二) 您可以阅读与".NET中的强名称机制"相关的教程: · 漫谈.Net中的自动垃圾收集(Garbage Collection)机制(转) · 介绍.NET中的委派(一) · .net中数据库事务机制 · .NET中的版本号 · .NET 2.0 基础类库中的范型??范型集合 |
| 快精灵印艺坊 版权所有 |
首页 |
||