公開金鑰密碼編譯技術範例
更新:2007 年 11 月
這個範例示範如何使用公開金鑰加密進行訊息交換。這個範例需要有 Microsoft Windows 2000 High Encryption Pack 才能完成。如需詳細資訊或需要下載高度加密工具,請參閱 https://www.microsoft.com/downloads/details.aspx?familyid=c10925a0-ac66-4c44-b5c3-9dcab4da1c63&displaylang=zh-tw。
如需使用這些範例的詳細資訊,請參閱下列主題:
若要使用命令提示字元建置範例
使用命令提示字元巡覽至公開金鑰密碼編譯目錄下任一程式設計語言的子目錄。如需必要設定和 SDK 命令提示字元的詳細資訊,請參閱 HOW TO:設定範例設定。
根據您選擇的程式設計語言,輸入 msbuild PublicKeyCryptographyCS.sln 或 msbuild PublicKeyCryptographyVB.sln。可執行檔便會建置於預設的 \bin 或 \bin\Debug 目錄中。
若要使用 Visual Studio 建置範例
開啟 [Windows 檔案總管],然後巡覽至公開金鑰加密目錄下任一程式設計語言的子目錄。
根據您選擇的程式設計語言,開啟 PublicKeyCS.sln 或 PublicKeyVB.sln 的 Visual Studio 方案檔。
在 [建置] 功能表上,按一下 [建置方案]。
若要執行範例
使用命令提示字元巡覽至已建置的可執行檔所在的目錄。
輸入 PublicKey.exe。
注意事項: |
---|
這個範例會建置一個主控台應用程式。所以,您必須使用 [命令提示字元] 執行,才能夠檢視範例的輸出結果。 |
備註
會使用對稱演算法 (RC2) 加密訊息,然後再利用非對稱演算法 (RSA) 加密 RC2 金鑰。非對稱密碼編譯演算法也稱為公開金鑰演算法,在這個演算法下的每個實體都必須擁有以私密金鑰和公開金鑰組合的一對相關金鑰。而且,這兩個金鑰對於實體而言都是具有唯一性的。公開金鑰可供所有人使用,它的作用是對傳送給接收者的資料進行編碼。私密金鑰則由接收者私下收藏,它的作用是對以接收者公開金鑰編碼的訊息進行解碼。
以下是這個範例使用的類別:
RSACryptoServiceProvider 提供 RSA 的 Managed 實作;RSA 是一種非對稱 (公開金鑰) 演算法,可以用來加密要與加密後訊息一併傳送的 RC2 金鑰。
RC2CryptoServiceProvider 提供可加密訊息文字的對稱加密演算法。
ICryptoTransform提供能夠定義密碼編譯轉換基本作業的介面。
CryptoStream提供資料流,以加密提供給 MemoryStream 的資料。
Encoding的作用是在字串與位元組陣列之間進行相互轉換。
如需金鑰組加密的詳細資訊,請參閱原始程式碼檔案中的註解。