(重寫問題,請查看原始歷史記錄)。.NET框架中爲什麼沒有託管的MD5實現?
的問題是正確的,在標題。
爲什麼會出現在.NET框架沒有管理MD5實現?
我正在專門討論一個純粹的託管代碼 MD5算法的實現,它在.NET框架中不存在。
內System.Security.Cryptography命名空間,我知道了MD5抽象基類(其中有被繼承,不能直接使用),我的也知道MD5CryptoServiceProvider和MD5CNG其中兩個提供來自OS的基礎CSP(加密服務提供商)和CNG(下一代加密)供應商的實現分別,但是,這兩種實現都非託管代碼。
UPDATE ON解答:
我欣喜的是,雖然有應該「一個真正的答案」這個問題,我們(SO社區)可能不知道它,除非微軟框架設計者(或誰直接知道的),然而,很多人都提供了非常合理的「猜測」這個社會的一部分,到走進省略從框架管理的MD5實現思想,但是,我還是想知道,如果有人不知道這個問題的「真實」答案。
編輯我的答案。 – 2009-07-29 15:04:01
大家都錯過了你的問題,因爲它太長了*。只保留標題+當前最後兩段將是完美的。 – 2009-07-29 15:29:02
鑑於它是CLI標準庫的一部分,您爲什麼要關心?它完成的方式是一個實現細節。 'Array.Copy'也是非託管的,但它不會打擾任何人,也不會對客戶產生任何實際影響。如果您在框架中擁有託管的MD5提供程序,會發生什麼變化? – 2009-07-29 20:34:41