先附上源码
加密解密算法目前已经应用到我们生活中的各个方面
加密用于达到以下目的:
保密性:帮助保护用户的标识或数据不被读取。
数据完整性:帮助保护数据不被更改。
身份验证:确保数据发自特定的一方。
不可否认性:防止特定的一方否认发送过消息。
为了达到这些目的,我们可以使用以下做法:
私钥加密(对称加密) | 对数据执行转换,使第三方无法读取该数据。 此类型的加密使用单个共享的机密密钥来加密和解密数据。 |
公钥加密(不对称加密) | 对数据执行转换,使第三方无法读取该数据。 此类加密使用公钥/私钥对来加密和解密数据。 |
加密签名 | 通过创建对特定方唯一的数字签名来帮助验证数据是否发自特定方。 此过程还使用哈希函数。 |
加密哈希 | 将数据从任意长度映射为定长字节序列。 哈希在统计上是唯一的;不同的双字节序列不会哈希为同一个值。 |
.NET Framework 提供了以下类来实现私钥加密算法:
AesManaged (在 .NET Framework 3.5中引入)。
DESCryptoServicePRovider .
HMACSHA1 (从技术上讲,这是一种私钥算法,因为它表示结合使用加密哈希函数和私钥计算的消息身份验证代码。 请参见本主题后面的哈希值。)
RC2CryptoServiceProvider .
RijndaelManaged .
TripleDESCryptoServiceProvider .
.NET Framework 提供了以下类来实现公钥加密算法:
DSACryptoServiceProvider
RSACryptoServiceProvider
ECDiffieHellman (基类)
ECDiffieHellmanCng
ECDiffieHellmanCngPublicKey (基类)
ECDiffieHellmanKeyDerivationFunction (基类)
ECDsaCng
.NET Framework 提供了以下类来实现数字签名算法:
DSACryptoServiceProvider
RSACryptoServiceProvider
ECDsa (基类)
ECDsaCng
.NET Framework 提供的以下类实现了哈希算法:
HMACSHA1 .
MACTripleDES .
md5CryptoServiceProvider .
RIPEMD160 .
SHA1Managed .
SHA256Managed .
SHA384Managed .
SHA512Managed .
System.Security.Cryptography 命名空间
类 | 说明 | |
---|---|---|
Aes | 表示高级加密标准 (AES) 的所有实现都必须从中继承的抽象基类。 | |
AesCryptoServiceProvider | 使用高级加密标准 (AES) 算法的加密应用程序编程接口 (CAPI) 实现来执行对称加密和解密。 | |
AesManaged | 提供高级加密标准 (AES) 对称算法的托管实现。 | |
AsnEncodedData | 表示 Abstract Syntax Notation One (ASN.1) 编码数据。 | |
AsnEncodedDataCollection | 表示 AsnEncodedData 对象的集合。 此类不能被继承。 | |
AsnEncodedDataEnumerator | 提供在 AsnEncodedDataCollection 对象中导航的能力。 此类不能被继承。 | |
AsymmetricAlgorithm | 表示所有非对称算法的实现都必须从中继承的抽象基类。 | |
AsymmetricKeyExchangeDeformatter | 表示所有非对称密钥交换反格式化程序均从中派生的基类。 | |
AsymmetricKeyExchangeFormatter | 表示所有非对称密钥交换格式化程序均从中派生的基类。 | |
AsymmetricSignatureDeformatter | 表示所有不对称签名反格式化程序实现均从中派生的抽象基类。 | |
AsymmetricSignatureFormatter | 表示所有不对称签名格式化程序实现均从中派生的基类。 | |
CngAlgorithm | 封装加密算法的名称。 | |
CngAlgorithmGroup | 封装加密算法组的名称。 | |
CngKey | 定义与下一代加密技术 (CNG) 对象一起使用的密钥的核心功能。 | |
CngKeyBlobFormat | 指定与 Microsoft 下一代加密技术 (CNG) 对象一起使用的密钥 BLOB 格式。 | |
CngKeyCreationParameters | 包含密钥创建的高级属性。 | |
CngPropertyCollection | 提供下一代加密技术 (CNG) 属性的强类型集合。 | |
CngProvider | 封装与下一代加密技术 (CNG) 对象一起使用的密钥存储提供程序 (KSP) 的名称。 | |
CngUIPolicy | 为用户界面 (UI) 封装可选配置参数,当您访问受保护的密钥时,下一代加密技术 (CNG) 将显示这些配置参数。 | |
CryptoAPITransform | 执行数据的加密转换。 此类不能被继承。 | |
CryptoConfig | 访问加密配置信息。 | |
CryptographicAttributeObject | 包含一个类型和与该类型相关联的值的集合。 | |
CryptographicAttributeObjectCollection | 包含 CryptographicAttributeObject 对象的集合。 | |
CryptographicAttributeObjectEnumerator | 为 CryptographicAttributeObjectCollection 集合提供枚举功能。 此类不能被继承。 | |
CryptographicException | 当加密操作中出现错误时引发的异常。 | |
CryptographicUnexpectedOperationException | 当加密操作中出现意外操作时引发的异常。 | |
CryptoStream | 定义将数据流链接到加密转换的流。 | |
CspKeyContainerInfo | 提供有关加密密钥对的附加信息。 此类不能被继承。 | |
CspParameters | 包含传递给执行加密计算的加密服务提供程序 (CSP) 的参数。 此类不能被继承。 | |
DataProtector | 提供数据保护程序的基类。 | |
学习交流
热门图片
猜你喜欢的新闻
新闻热点 2019-10-23 09:17:05
2019-10-21 09:20:02
2019-10-21 09:00:12
2019-09-26 08:57:12
2019-09-25 08:46:36
2019-09-25 08:15:43
疑难解答 |