DotNet中的加密

.NET中的加密

System.Security.Cryptography命名空间提供加密服务,包括数据的安全编码和解码、哈希、随机数生成以及消息身份验证。

.NET Framework 提供多种标准密码算法的实现。因为具有良好定义的继承层次结构,所以可轻松扩展对这些算法,该层次结构包含定义基本算法类型(对称、不对称以及哈希算法)的抽象类和算法类。

表 1:显示 .NET Framework 为之提供实现“现成”类的算法。
对称算法 不对称算法 哈希算法

DES(数据加密标准)

DSA(数据签名算法)

HMAC SHA1(使用 SHA1 哈希算法且基于哈希的消息身份验证代码)

TripleDES(三重数据加密标准)

RSA

MAC Triple DES(使用 Triple DES 消息身份验证代码)

Rijndael

MD5

RC2

SHA1, SHA256, SHA384, SHA512
(使用不同哈希大小的安全哈希算法)

对称算法支持

.NET 提供以下实现类,这些类提供对称、机密密钥加密算法:

DESCryptoServiceProvider

RC2CryptoServiceProvider

RijndaelManaged

TripleDESCryptoServiceProvider

以“CryptoServiceProvider”结尾的类是包装类,它们使用加密服务提供程序 (CSP) 的基本服务;以“Managed”结尾的类在托管代码中实现。

2 显示采用继承层次结构的 .NET Framework。算法类型基类(如 SymmetricAlgorithm)是抽象类。一套抽象的算法类派生自抽象类型基类。算法实现类提供了选定算法的具体实现,例如,DES、Triple-DES、Rijndael 和 RC2。

fa1sn02

2. 对称加密类继承层次结构

不对称算法支持

.NET 通过抽象基类 (System.Security.Crytography.AsymmetricAlgorithm) 提供以下不对称(公共/专用密钥)加密算法:

DSACryptoServiceProvider

RSACryptoServiceProvider

这些算法用于数字签名和加密数据。 3 显示继承层次结构。

fa1sn03

3. 不对称加密类继承层次结构

哈希算法支持

.NET 提供以下哈希算法:

SHA1, SHA256, SHA384, SHA512 MD5

HMACSHA (Keyed Hashed algorithm)

MACTripleDES(加密的哈希算法)

4 显示哈希算法类的继承结构层次。

fa1sn04

4. 哈希加密类继承结构层次

你可能感兴趣的:(net)