<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      .NET中的強名稱機制

      [摘要]一個程序集包括四個區分彼此的屬性:l 文件名(不包括擴展)l 版本號l 文化標識l 公鑰標識現在讓我們來看看一個比較常見的強名稱程序集...
      一個程序集包括四個區分彼此的屬性:

      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 避免程序集被惡意更改



      日韩精品一区二区三区高清