- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
P10 网络信息加密传输程序设计
计算机网络编程技术 第10章 网络信息加密传输程序设计 网络攻击类型 网络信息安全: 信息存储安全 信息传输安全 本章的主要内容 数据加密模型 对称加密程序设计 非对称加密程序设计 网络信息加密传输程序设计 10.1 数据加密模型 (2) 对称加密模型 常见的对称加密算法 (3) 非对称加密模型 非对称加密算法研制的最初理念与目标是旨在解决对称加密算法中密钥的分发问题. 实际上它不但很好地解决了这个问题,还可利用非对称加密算法来完成对电子信息的数字签名以防止对信息的否认与抵赖;同时,还可以利用数字签名较容易地发现攻击者对信息的非法篡改,以保护数据信息的完整性。 (4) 数字签名模型 数字签名一般采用非对称加密技术(如RSA)。 10.2 对称加密程序设计 10.2.1 对称加密算法 SymmetricAlgorithm类表示所有对称算法的实现都必须从中继承的抽象基类; 派生了DES、Triple-DES、RC2和Rijndael等对称加密算法; 来自于System.Security.Cryptography命名空间。 SymmetricAlgorithm类的主要属性和方法 对称算法的实现: RijndaelManaged DESCryptoServiceProvider RC2CryptoServiceProvider TripleDESCryptoService Provider 10.2.2 基于流的加密解密方法 由于对称加密往往用于加密大量数据信息,隐藏采用了流式加密方法,以便支持对内存流和文件流等数据的加密和解密。托管对称加密类与称为CryptoStream的特殊流类一起使用。 可以使用从Stream类派生的任何类(包括FileStream、MemorySteam和NetworkStream)初始化CryptoStream类。使用这些类,可以对各种流对象执行对称加密。 (1) 加密过程实例: ① 创建对称加密算法实例: cryptoService=new RijndaelManaged(); cryptoService.Mode=CipherMode.CBC; //设置为链接模式 ② 设置初始化参数,包括密钥和初始化向量等。 cryptoService.Key=GetLegalKey(); //设置密钥 cryptoService.IV=GetLegalIV(); //设置初始向量 ③ 创建加密实例: ICryptoTransform cryptoTransform=cryptoService.CreateEncryptor(); ④ 创建加密流: MemoryStream ms=new MemoryStream(); //创建内存流 CryptoStream cs=new CryptoStream(ms, crytoTransform,CryptoStreamMode.Write); ⑤ 通过流的写操作实现数据加密: cs.Write(plainByte,0,plainByte.Length); cs.FlushFinalBlock(); byte[] cryptoByte=ms.ToArray(); return Convert.ToBase64String(cryptoByte,0,cryptoByte.GetLength(0)); (2) 解密过程实例 ① 创建对称加密算法实例: cryptoService=new RijndaelManaged(); cryptoService.Mode=CipherMode.CBC; //设置为链接模式 ② 设置初始化参数,包括密钥和初始化向量等。用户设置方法如下: cryptoService.Key=GetLegalKey(); //设置密钥 cryptoService.IV=GetLegalIV(); //设置初始向量 ③ 创建解密实例,如: ICryptoTransform cryptoTransform=cryptoService.CreateEncryptor(); ④ 创建解密流,如: MemoryStream ms=new MemoryStream(cryptoByte,0,cryptoByte.Length);//创建内存流 CryptoStream cs=new CryptoStream(ms, crytoTransform, CryptoStreamMode.Read); ⑤ 通过解密流进行数据解密: StreamReader sr=new StreamReader(cs); return sr.ReadToEnd(); 10.2.3 对称加密程序设计示例 (1) 命名空间与重要实例 using System.Securit
您可能关注的文档
最近下载
- 2019-2020学年山东省德州市庆云县青岛版五年级下册期末测试数学试卷(word版含答案).pdf VIP
- 200句搞定高考词汇.pdf VIP
- 现场设备工业管道焊接质量验收规范.pdf VIP
- HITACHI日立空气净化器EP-A5000.doc VIP
- 16J604 塑料门窗(建筑图集).docx VIP
- 人教版高中物理必修三第十二章《电能能量守恒定律》解答题专题训练 (12)(含答案解析).docx VIP
- 2025年绵阳市中考化学试题卷(含答案解析).docx
- 药店员工培训试题及答案.docx VIP
- 2025年ACP云计算考试题库.pdf
- 2025年及未来5年高级铝制品项目市场数据调查、监测研究报告.docx
文档评论(0)