公钥加密技术示例
更新:2007 年 11 月
本示例说明了如何使用公钥加密来交换消息。本示例需要 Microsoft Windows 2000 High Encryption Pack。有关更多信息及下载 High Encryption Pack,请参见 https://www.microsoft.com/WINDOWS2000/downloads/recommended/encryption/。
有关使用这些示例的信息,请参见下面的主题:
使用命令提示生成示例
使用命令提示定位到 PublicKeyCryptography 目录下的语言特定的子目录中的一个。有关所需设置和 SDK 命令提示的信息,请参见如何:设置示例设置。
根据所选择的编程语言,键入 msbuild PublicKeyCryptographyCS.sln 或 msbuild PublicKeyCryptographyVB.sln。可执行文件将在默认的 \bin 或 \bin\Debug 目录中生成。
使用 Visual Studio 生成示例
打开 Windows 资源管理器,然后定位到 PublicKeyCryptography 目录下的语言特定的子目录中的一个。
根据所选择的编程语言,打开 Visual Studio 解决方案文件 PublicKeyCS.sln 或 PublicKeyVB.sln。
在“生成”菜单上单击“生成解决方案”。
运行示例
使用命令提示定位到包含生成的可执行文件的目录。
键入 PublicKey.exe。
说明: |
---|
此示例生成一个控制台应用程序。您必须使用命令提示运行它才能查看相应的输出。 |
备注
邮件是使用对称算法 (RC2) 加密的,而 RC2 密钥又是使用不对称算法 (RSA) 加密的。不对称加密算法(也称为公钥算法)要求每个实体都维护一对相关密钥:私钥和公钥。两个密钥对于实体都是唯一的。公钥可以提供给任何人;此密钥用于对要发送给接收者的数据进行编码。私钥必须由接收者秘密保存;此密钥用于对使用接收者的公钥编码的消息进行解码。
本示例使用了下面这些类:
RSACryptoServiceProvider 提供 RSA(即不对称(公钥)算法)的托管实现。RSA 用于对随加密的消息发送的 RC2 密钥进行加密。
RC2CryptoServiceProvider 提供对称加密算法来加密消息文本。
ICryptoTransform提供定义加密转换基本操作的接口。
CryptoStream提供流以对提供给 MemoryStream 的数据进行加密。
Encoding用于将字符串转换为字节数组,反之亦然。
有关密钥对加密的更多信息,请参见源代码文件中的注释。