欢迎来到天天文库
浏览记录
ID:59420531
大小:534.00 KB
页数:48页
时间:2020-09-19
《dotNET高级编程_加密ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实现加密本章学习目标:使用对称和非对称算法类以及SslStream类来加密数据使用MD5、SHA1和HMAC类计算数据的哈希值使用CryptoStream、CryptoConfig、ProtectedData、ProtectedMemory、CspParameters、CryptoAPITransform和RandomNumberGenerator类扩展加密行为目标加密数据计算数据的哈希值加密行为的扩展小结实验习题第9章在.NETFramework2.0中实现加密数据加密和数据解密使用对称算法类执行对称加密(1)对称算法类(2)DES类(3)TripleDES类(4)RC2类
2、(5)Rijndael使用非对称类执行非对称加密(1)非对称算法类(2)RSA类(3)DSA类使用SslStream类保护TCP/IP通信的安全.加密数据数据加密和数据解密加密是将信息转换为一种隐晦或难读的格式以保护信息的过程。一个密码的值可以是不同位强度的值。加密是一个双向过程。SSL(SecureSocketsLayer,安全套接字层)是非对称加密的一种形式,但它也可以使用对称加密。使用对称算法类执行对称加密对称加密也称为单密钥或私钥加密,因为它使用单个私钥来对数据进行加密和解密。对称加密算法比非对称算法简单,因为对称加密算法只使用一个密钥。.NETFramework提供
3、密码加密类,该类实现了最流行的对称算法。对称算法类DES类TripleDES类RC2类Rijndael.使用对称算法类执行对称加密(续).NETFramework提供密码加密类,该类实现了最流行的对称算法。对称算法包括DES(DataEncryptionStandard,数据加密标准)、三重DES、RC2(RivestCipher)和Rijndael。代码示例C#代码示例VB对称算法类成员描述BlockSize该属性用于获取或设置用于加密的块长度值。块长度确定了需要加密的数据的长度。如果要加密的数据的长度超过块长度,则必须将该数据加密为连续的块。如果要加密的数据的长度小于块
4、长度,则必须填充它以达到块长度。FeedbackSize该属性不能超过块大小,而且该属性确定了为加密和解密操作提供反馈的数据的大小。IV该属性表示初始化向量(IV)。IV的大小与块大小相同,而且当实例化对称加密对象时会给IV赋一个随机值。Key该属性表示密钥。当初始化加密对象时,如果Key属性为null则调用CreateKey方法以生成一个唯一的随机值作为密钥。解密时,IV和密钥的值必须与加密过程中使用的值相同。对称算法类(续)KeySize该属性获取或设置用于加密的密钥的长度。使用的具体对称加密类确定有效的密钥长度。Mode该属性指示用于加密的密码模式。通过使用Cipher
5、Mode枚举指派有效的加密模式,CipherMode枚举包括下列成员:密码块链(CBC):以多个块的形式加密数据并且其中每个块都与前一个块一同加密。所以,这个过程称为“块链”。密码反馈(CFB):一次加密少量数据而不是一次加密一个块。密码文本窃用(CTS):加密任何长度的纯文本。电子密码本(ECB):以多个块的形式加密数据,但是分别加密每个块。输出反馈(OFB):加密少量的纯文本。对称算法类(续)Padding该属性指示用于加密的填充模式,并确定如何填充小于块长度的数据。通过使用Padding枚举指派有效的填充模式,Padding枚举包括下列成员:ANSIX923:用零填充以
6、达到规定长度。ISO10126:用随机数据填充以达到规定长度。None:不填充。PKCS7:用与填充字节总数相等的字节填充。Zeros:用与零相等的字节填充。对称算法类(续)Clear该方法释放加密类使用的所有资源并用零改写数据。Create该方法创建一个对称加密对象。CreateDecrypter该方法创建一个对称解密对象。CreateEncrypter该方法创建一个对称加密器对象。GenerateIV该方法生成一个随机初始化向量。GenerateKey该方法生成一个随机加密密钥。ValidKeySize该方法确定用于加密的密钥长度是否有效。DES类DES类中最常用的静态方
7、法成员描述IsSemiWeakKey此方法用于检测一个半弱密钥。半弱密钥很容易被破解。如果检测到一个半弱密钥(.NETFramework从不生成半弱密钥),则会引发异常。IsWeakKey此方法用于检测一个弱密钥。弱密钥很容易被破解,这与半弱密钥相似。但是,DES算法有四个已知的弱密钥,它们的加密结果立即可知。如果检测到一个弱密钥(.NETFramework从不生成弱密钥),则会引发异常。.TripleDES类TripleDES类是一个抽象类,该类从SymmetricAlgorithm类继承,并对三重数
此文档下载收益归作者所有