第11章数据加密和数字签名.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
11.4 Hash算法与数字签名(续) 【例12-5】利用DSACryptoServiceProvider类创建哈希值的数字签名,然后验证签名。程序运行效果如图12-8所示。 图12-8 例12-5的运行效果 11.1.2 不对称加密及其相关类(续) RSACryptoServiceProvider类的常用属性和方法 名称 解释 CspKeyContainerInfo 属性 检索关于加密密钥对的相关信息,如密钥容器名称以及提供程序的信息等 PersistKeyInCsp属性 密钥是否应该永久驻留在加密服务提供程序(CSP)中 PublicOnly属性 RSACryptoServiceProvider对象是否仅包含一个公钥 Encrypt方法 使用RSA算法对数据进行加密 Decrypt方法 使用RSA算法对数据进行解密 ImportParameters方法 导入指定的RSAParameters。RSAParameters表示RSA算法涉及的相关参数 ExportParameters方法 导出指定的RSAParameters FromXmlString方法 通过XML字符串中的密钥信息初始化RSA对象 ToXmlString方法 创建并返回包含当前RSA对象的密钥的XML字符串 11.1.2 不对称加密相关类-RSA ToXmlString :以XML文档形式保存 RSA 密钥信息时。 true 时将创建一个包含公钥及私钥XML字符串 false 时将创建的XML字符串仅包含公钥 。 FromXmlString: 用 ToXmlString 方法生成的一个XML 字符串中的密钥信息来初始化 RSA 对象, 例如: 加密方: RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); String strKeyXml = rsa.ToXmlString(true); 解密方: RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();rsa. FromXmlString(strKeyXml); 11.1.2 不对称加密相关类-RSA Encrypt方法:使用RSA算法对数据进行加密 byte[] dataToEncrypt = Encoding.UTF8.GetBytes(textBoxInput.Text); RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); byte[] dataToDecrypt = rsa.Encrypt(dataToEncrypt,false); String rsaKeyInfo = rsa.ToXmlString(false); Decrypt方法:使用RSA算法对数据进行解密 RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); rsa.FromXmlString(rsaKeyInfo); return rsa.Decrypt(dataToDecrypt, false); 11.1.3 加密流(CryptoStream) 加密流(CryptoStream类):继承Stream类,专用于处理被加密或者被解密的数据,而且只能用于对称加密。 CryptoStream类 public CryptoStream(Stream stream,ICryptoTransform transform,CryptoStreamMode mode) stream:对其执行加密转换的流。 Transform:要对流执行的加密转换。 Mode:转换方式 ,加密时模式为对写访问模式解密时则为读访问模式。 11.1.3 对称加密相关类—加密 加密时: 1、创建CryptoStrem实例。三个参数的含义。 2、将待加密数据数据写入crpytoStrem中。 3、获取加密后的数据 4、关闭流 11.1.3 加密流(CryptoStream) 例如(P254): fStream = File.Open(, ); AesManaged aes = new AesManaged(); CryptoStream cStream = new CryptoStream(fStream, aes.CreateEncryptor(), CryptoStreamMode.Write); sw = new St

文档评论(0)

beautyeve + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档