快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

.NET中的强名称机制

一个程序集包括四个区分彼此的属性:

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 基础类库中的范型??范型集合
    微笑服务 优质保证 索取样品