概述:

加密数据可以使用对称加密或非对称加密算法,使用对称加密比非对称密钥快得多,但对称密钥需要解决安全交换密钥的问题。在

.NET Framework中,可以使用System.Security.Cryptography命名空间中的类来加密。它实现了几个对称和非对称算法。从.NET 3.4开始,一些新类以Cng作为前缀或后缀,表示Cryptography Next Generation,用于采用Windows NT 6.0或更高内核版本的操作系统(Vista,Win7,Win8)API可以使用基于提供程序的模型,编写独立于算法的程序。

System.Security.Cryptography

命名空间中的加密类及其功能。没有Cng、Managed或CryptoServiceProvider后缀的类是抽象基类,那么一个抽象加密类,可以用create方法实现或者利用对应的类有Cng,Managed,CryptoServiceProvider的类进行实例化不过没有MD5Managed这个扩展类

实现方法示例:

clip_image002

clip_image003

加密算法分类:

参考:http://msdn.microsoft.com/zh-cn/library/vstudio/System.Security.Cryptography.aspx

类别

散列

MD5、SHA1、SHA256、SHA384、SHA512

对称列

DES、TripleDES、AES、RC2、Rijandel

非对称

DSA、ECDSA、ECDiffieHellman、RSA