framework_ch09

上传人:子 文档编号:43401910 上传时间:2018-06-06 格式:DOC 页数:15 大小:22.09KB
返回 下载 相关 举报
framework_ch09_第1页
第1页 / 共15页
framework_ch09_第2页
第2页 / 共15页
framework_ch09_第3页
第3页 / 共15页
framework_ch09_第4页
第4页 / 共15页
framework_ch09_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《framework_ch09》由会员分享,可在线阅读,更多相关《framework_ch09(15页珍藏版)》请在金锄头文库上搜索。

1、Framework_CH09Framework_CH09本文由 qxpgwww 贡献ppt 文档可能在 WAP 端浏览体验不佳。建议您优先选择 TXT,或下载源文件到本机查看。第 9 章 在.NET Framework 2.0 章 中实现加密.NET Framework 2.0 程序设计第 1 章: .NET Framework 2.0 简介 简介 第 2 章:公共语言运行库和 类型 第 3 章:托管代码的编译和 执行 第 4 章:委托和事件 第 5 章:读取和写入文件 第 6 章:集合和泛型 第 7 章:数据的序列化 第 8 章:GDI+ 第 9 章:在 .NET Framework 2.0

2、中实现加密组件与.NET 第 10 章: COM 组件与 Framework 程序集之间的交 程序集之间的交 互操作 第 11 章:使用类型元数据 第 12 章:创建多线程应用 程序和应用程序域 第 13 章:代码访问安全性 第 14 章:监视和调试应用 程序 第 15 章:使用服务应用程 序和电子邮件消息 第 16 章:创建全球化应用 程序 第 17 章:配置和安装程序 集目标本章学习目标: 本章学习目标: 使用对称和非对称算法类以及 SslStream 类来加 密数据 使用 MD5,SHA1 和 HMAC 类计算数据的哈希值 , 使用 CryptoStream,CryptoConfig,P

3、rotectedData, , 使用 , , ProtectedMemory,CspParameters, , , CryptoAPITransform 和 RandomNumberGenerator 类 扩展加密行为第 9 章 在.NET Framework 2.0 中实现加密 章加密数据 计算数据的哈希值 加密行为的扩展 小结 实验 习题加密数据9.1 加密数据数据加密和数据解密 使用对称算法类执行对称加密(1)对称算法类 ) (2) DES 类 ) 类 (3) TripleDES 类 ) 类 (4) RC2 类 ) 类 (5) Rijndael )使用非对称类执行非对称加密(1)非对称算

4、法类 ) (2) RSA 类 ) 类 (3) DSA 类 ) 类使用 SslStream 类保护 TCP/IP 通信的安全数据加密和数据解密9.1.1 数据加密和数据解密加密是将信息转换为一种隐晦或难读的格式以保护信息的过程. 加密是将信息转换为一种隐晦或难读的格式以保护信息的过程.一个密码的值可以是不同位强度的值. 一个密码的值可以是不同位强度的值.加密是一个双向过程. 加密是一个双向过程.SSL(Secure Sockets Layer,安全套接字层)是非对称加密的一种 ( ,安全套接字层) 形式,但它也可以使用对称加密. 形式,但它也可以使用对称加密.使用对称算法类执行对称加密9.1.2

5、 使用对称算法类执行对称加密对称加密也称为单密钥或私钥加密, 对称加密也称为单密钥或私钥加密,因为它使用单个私钥来 对数据进行加密和解密. 对数据进行加密和解密. 对称加密算法比非对称算法简单,因为对称加密算法只使用 对称加密算法比非对称算法简单, 一个密钥. 一个密钥. .NET Framework 提供密码加密类,该类实现了最流行的对称 提供密码加密类, 算法. 算法.使用对称算法类 执行对称加密 (续)9.1.2 使用对称算法类执行对称加密.NET Framework 提供密码加密类,该类实现了最流行的对称算 提供密码加密类, 对称算法包括 DES(Data Encryption Sta

6、ndard,数据加密标 法.对称算法包括 ( , ),三重 三重 DES, RC2(Rivest Cipher)和 Rijndael. 准),三重 , ) .对称算法类 DES 类 类 TripleDES 类 类 RC2 类 类 Rijndael代码示例 C# 代码示例 #代码示例 VB 代码示例对称算法类1. 对称算法类SymmetricAlgorithm 类中最常用的公共成员成员 BlockSize 描述 该属性用于获取或设置用于加密的块长度值.块长度确定了需要 加密的数据的长度.如果要加密的数据的长度超过块长度,则必 须将该数据加密为连续的块.如果要加密的数据的长度小于块长 度,则必须填

7、充它以达到块长度. 该属性不能超过块大小,而且该属性确定了为加密和解密操作提 供反馈的数据的大小. 该属性表示初始化向量(IV).IV 的大小与块大小相同,而且当 实例化对称加密对象时会给 IV 赋一个随机值. 该属性表示密钥.当初始化加密对象时,如果 Key 属性为 Nothing(在 Visual Basic 中)或null(在 C# 中),则调用 CreateKey 方法以生成一个唯一的随机值作为密钥. 解密时,IV 和密钥的值必须与加密过程中使用的值相同.FeedbackSize IV Key对称算法类( 对称算法类(续)1. 对称算法类续表: 续表KeySize Mode 该属性获取

8、或设置用于加密的密钥的长度.使用的具体对称加密类确 定有效的密钥长度. 该属性指示用于加密的密码模式.通过使用 CipherMode 枚举指派有 效的加密模式,CipherMode 枚举包括下列成员: 密码块链(CBC):以多个块的形式加密数据并且其中每个块都与 前一个块一同加密.所以,这个过程称为“块链“. 密码反馈(CFB):一次加密少量数据而不是一次加密一个块. 密码文本窃用(CTS):加密任何长度的纯文本. 电子密码本(ECB):以多个块的形式加密数据,但是分别加密每 个块. 输出反馈(OFB):加密少量的纯文本. 该属性指示用于加密的填充模式,并确定如何填充小于块长度的数 据.通过使

9、用 Padding 枚举指派有效的填充模式,Padding 枚举包括下 列成员: ANSIX923:用零填充以达到规定长度. ISO10126:用随机数据填充以达到规定长度. None:不填充. PKCS7:用与填充字节总数相等的字节填充. Zeros:用与零相等的字节填充.Padding对称算法类( 对称算法类(续)1. 对称算法类续表: 续表Clear Create CreateDecrypter CreateEncrypter GenerateIV GenerateKey ValidKeySize 该方法释放加密类使用的所有资源并用零改写数据. 该方法创建一个对称加密对象. 该方法创建一

10、个对称解密对象. 该方法创建一个对称加密器对象. 该方法生成一个随机初始化向量. 该方法生成一个随机加密密钥. 该方法确定用于加密的密钥长度是否有效.DES 类 类2.DES 类 类DES 类中最常用的静态方法成员描述IsSemiWeakKey 此方法用于检测一个半弱密钥.半弱密钥很容易被破解.如果检 测到一个半弱密钥(.NET Framework 从不生成半弱密钥),则会 引发异常. IsWeakKey 此方法用于检测一个弱密钥.弱密钥很容易被破解,这与半弱密 钥相似.但是,DES 算法有四个已知的弱密钥,它们的加密结果 立即可知.如果检测到一个弱密钥(.NET Framework 从不生成

11、弱 密钥),则会引发异常.TripleDES 类 类3.TripleDES 类 类TripleDES 类是一个抽象类,该类从 SymmetricAlgorithm 类继承, 类是一个抽象类, 类继承, 并对三重数据加密标准算法提供支持. 并对三重数据加密标准算法提供支持.TripleDES 类包含用于检测弱密钥的 IsWeakKey 方法. 方法.RC2 类 类4.RC2 类 类RC2 类是从 类是从 SymmetricAlgorithm 类继承的抽象(MustInherit)类, 类继承的抽象( 类继承的抽象 ) 该类对 RC2 算法提供了支持. 算法提供了支持. 该类对 算法提供了支持RC

12、2CryptoServiceProvider 类是一个具体 RC2 算法类,它从 RC2 类 算法类, 继承而来. 继承而来.Rijndael5.RijndaelRijndaelManagedTransform 类中的可用成员成员 BlockSizeValue CanTransformMultipleBlocks InputBlockSize描述 该属性用于获取加密块长度. 该属性指示能否处理多个块. 该属性用于获取输入块长度.Rijndael (续)续表: 续表OutputBlockSize 该属性用于获取输出块长度.9.1.2.5RijndaelClear该方法的使用方式与其他对称加密类中

13、的 Clear 方法相同. 该方法用于将数据段转换为加密格式.TransformBlockTransformFinalBlock该方法用于将数据的最末一段转换为加密格式.使用非对称类 执行非对称加密9.1.3 使用非对称类执行非对称加密非对称加密也称为公钥加密,因为它使用一个公钥和一个私钥. 非对称加密也称为公钥加密,因为它使用一个公钥和一个私钥.非对称加密的另一个常见用途是数字签名的应用. 非对称加密的另一个常见用途是数字签名的应用.NET Framework 提供了密码加密类对非对称加密算法进行支持, 提供了密码加密类对非对称加密算法进行支持, 支持的非对称算法包括: 支持的非对称算法包括

14、: RSA 算法 DSA 算法非对称算法类1.非对称算法类AsymmetricAlgorithm 类中最常用的公共成员成员描述KeyExchangeAlgorithm该属性用于获取用于加密的密钥交换算法的名称.KeySize该属性用于获取或设置用于加密的密钥的长度.SignatureAlgorithm该属性用于获取用于加密的签名算法的名称.非对称算法类 (续) 续续表: 续表Clear1.非对称算法类该方法释放加密类使用的所有资源并用零重写数据.Create该方法创建一个非对称加密对象.FromXmlString该方法通过对象的 XML 字符串表示形式创建非对称算法对 象. 该方法创建非对称加

15、密对象的 XML 字符串表示形式.ToXmlStringRSA 类 类RSA 类中可用的公共方法: 类中可用的公共方法:成员 描述2.RSA 类 类DecryptValue此方法通过使用私钥解密输入值.EncryptValue此方法通过使用公钥解密输入值.ExportParameters该方法导出用于加密的参数.ImportParameters该方法导入用于加密的参数.DSA 类 类3.DSA 类 类DSA 类是一个抽象(MustInherit)类,该类从 类是一个抽象( ) AsymmetricAlgorithm 类继承,并为 DSA 算法提供支持. 类继承, 算法提供支持. DSA 是由国

16、家标准与技术学会(NIST)于 1991 年提出的, 是由国家标准与技术学会( ) 年提出的, 年提出的 并被采纳为美国政府的数字签名标准. 并被采纳为美国政府的数字签名标准. DSACryptoServiceProvider 类从 类从 DSA 类继承而来,它是一个 类继承而来, 实体类. 实体类.代码示例 C# 代码示例 #代码示例 VB 代码示例使用 SslStream 类保护 TCP/IP 通信的安全9.1.4 使用 SslStream 类 保护 TCP/IP 通信的安全.NET Framework 提供 AuthenticatedStream 类和 SslStream 类实 现服务器与客户端之间的安全通信 .AuthenticatedStream 类AuthenticatedStream 类是一个抽象(MustInherit)类, 类是一个抽象( ) 该类对流式传输的数据进行加密,签名和身份验证. 该类对流式传输的数据进行加密,签名和身份验证.SslStream 类SslStream 类是 .NET Framework 中实现 SSL 协议的实体 类.第 9 章 在.NET

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号