先附上源碼
加密解密算法目前已經應用到我們生活中的各個方面
加密用于達到以下目的:
保密性:幫助保護用戶的標識或數據不被讀取。
數據完整性:幫助保護數據不被更改。
身份驗證:確保數據發自特定的一方。
不可否認性:防止特定的一方否認發送過消息。
為了達到這些目的,我們可以使用以下做法:
私鑰加密(對稱加密) | 對數據執行轉換,使第三方無法讀取該數據。 此類型的加密使用單個共享的機密密鑰來加密和解密數據。 |
公鑰加密(不對稱加密) | 對數據執行轉換,使第三方無法讀取該數據。 此類加密使用公鑰/私鑰對來加密和解密數據。 |
加密簽名 | 通過創建對特定方唯一的數字簽名來幫助驗證數據是否發自特定方。 此過程還使用哈希函數。 |
加密哈希 | 將數據從任意長度映射為定長字節序列。 哈希在統計上是唯一的;不同的雙字節序列不會哈希為同一個值。 |
.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
疑難解答 |