- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在NETFramework2.0中实现加密第10章.ppt
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 加密数据 计算数据的哈希值 加密行为的扩展 小结 实验 习题 第9章 在.NET Framework 2.0 中实现加密 使用加密类管理配置信息 CryptoStream类 CryptoConfig 类 使用DPAPI 类保护文件和内存中的数据 ProtectedData 类 ProtectedMemory 类 使用CspParameters 类自定义CSP 对象的行为 使用CryptoAPITransform 类修改加密信息 为加密函数生成随机数 加密行为的扩展 9.3 加密行为的扩展 CryptoStream类 9.3.1 使用加密类管理配置信息 CryptoStream的常用成员: 常用成员 描述 Close 该方法关闭CryptoStream 并将所有剩余的内容都清除到输出流。你应该经常调用该方法。当与任何清除代码一起使用时,如果有异常抛出,则可能不调用该代码。因此,应该在Try 语句的Finally 块中调用Close 方法。 Flush 可以调用该方法将CryptoStream 对象的内容清除。 FlushFinalBlock 可以调用该方法将CryptoStream 对象的内容清除。调用FlushFinalBlock 方法旨在清除CryptoStream 对象中的最后一个数据块。 代码示例C# 代码示例VB CryptoConfig 类 9.3.1 使用加密类管理配置信息 CryptoConfig的常用成员: 常用成员 描述 CreateFromName 该方法用于使用该类所实现的算法的名称来创建加密类的一个新实例。 EncodeOID 该方法用于使用MapNameToOID 方法来编码对象 ID。 MapNameToOID 该方法用于获取一个基于算法名称的对象ID。 使用 DPAPI 类保护文件和内存中的数据 9.3.2 使用DPAPI类保护文件和内存中的数据 ProtectedMemory 类中最常使用的成员: 成员 描述 Protect 该方法用于保护或加密一个字节数组。Protect 方法接受两个参数:userData 和scope。第二个参数是MemoryProtectionScope 枚举的成员,该枚举包含以下成员: CrossProcess:指示任何进程中的所有代码都可以取消内存保护。 SameLogon:指示只有与保护内存的代码位于同一用户上下文的代码才可取消内存保护。 SameProcess:指示只有与保护内存的代码位于同一进程的代码才可取消内存保护。 Unprotect 该方法用于取消保护或解密一个字节数组。Unprotect 方法接受两个参数:encryptedData 和scope。 代码示例C# 代码示例VB CspParameters 类中提供的常用属性: 使用CspParameters 类自定义CSP 对象的行为 9.3.3 使用CspParameters 类自定义CSP 对象的行为 属性 描述 CryptoKeySecurity 该属性用于配置CAS(Code Access Security,代码访问安全性)访问,并审核CAPI 类的规则和权限。 Flags 该属性用于配置CAPI 类的附加属性。你可以将CspProviderFlags 枚举的一个或多个成员赋给该属性: NoFlags:指示没有指定任何附加配置设置。 NoPrompt:指示不应该显示用户界面。 UseArchivableKey:指示CAPI 类应该使用一个可以被导出以存档的密钥。 UseDefaultKeyContainer:指示CAPI 类应该保留默认密钥容器。 UseExistingKey:指示CAPI 类应该保留现有密钥。 UseMachineKeyStore:指示 CAPI 类应该使用来自本地计算机密钥存储区中的信息。 UseNonExportableKey:指示CAPI类应该不允许导出密钥。 UseUserProtectedKey:指示 CAPI 类应该在尝试使用密钥时发送通知。 KeyPassword 该属性用于获取或设置密钥密码。 ParentWindowHandle 该属性用于获取或设置指向非托管父窗口的引用。 代码示例C# 代码示例VB CryptoAPITransform 类中所提供的常用公共成员 使用CryptoAPITransform 类修改加密信息 9.3.4 使用CryptoAPITransform 类修改加密信息 成员 描述 CanReuseTranform 该属性用于指示当前类是否可重复用于同一函数中的转
文档评论(0)