自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

.NET提供的加密算法概述

開(kāi)發(fā) 后端 算法
加密數(shù)據(jù)可以使用對(duì)稱(chēng)加密或非對(duì)稱(chēng)加密算法,使用對(duì)稱(chēng)加密比非對(duì)稱(chēng)密鑰快得多,但對(duì)稱(chēng)密鑰需要解決安全交換密鑰的問(wèn)題。在.NET Framework中,可以使用System.Security.Cryptography命名空間中的類(lèi)來(lái)加密。它實(shí)現(xiàn)了幾個(gè)對(duì)稱(chēng)和非對(duì)稱(chēng)算法。

加密數(shù)據(jù)可以使用對(duì)稱(chēng)加密或非對(duì)稱(chēng)加密算法,使用對(duì)稱(chēng)加密比非對(duì)稱(chēng)密鑰快得多,但對(duì)稱(chēng)密鑰需要解決安全交換密鑰的問(wèn)題。在.NET Framework中,可以使用System.Security.Cryptography命名空間中的類(lèi)來(lái)加密。它實(shí)現(xiàn)了幾個(gè)對(duì)稱(chēng)和非對(duì)稱(chēng)算法。從.NET 3.4開(kāi)始,一些新類(lèi)以Cng作為前綴或后綴,表示Cryptography Next Generation,用于采用Windows NT 6.0或更高內(nèi)核版本的操作系統(tǒng)(Vista、Win7、Win2008、Win8)。這個(gè)API可以使用基于提供程序的模型,編寫(xiě)?yīng)毩⒂谒惴ǖ某绦颉?/p>

下面列出System.Security.Cryptography命名空間中的加密類(lèi)及其功能。沒(méi)有Cng、Managed或 CryptoServiceProvider后綴的類(lèi)是抽象基類(lèi),例如MD5。Managed后綴表示這個(gè)算法用托管代碼實(shí)現(xiàn),其他類(lèi)可能封裝了內(nèi)部的 Windows API調(diào)用。CryptoServiceProvider后綴用于實(shí)現(xiàn)了抽象基類(lèi)的類(lèi),Cng后綴用于利用新Cryptography CNG API的類(lèi),它只能用于指定版本的操作系統(tǒng)。

類(lèi)別 類(lèi) 說(shuō)明

 散

 

     列

MD5, MD5Cng

SHA1, SHA1Managed, SHA1Cng

SHA256, SHA256Managed, SHA256Cng

SHA384, SHA384Managed, SHA384Cng

SHA512, SHA512Managed, SHA512Cng

散列算法的目標(biāo)是從任意長(zhǎng)度的二進(jìn)制字符串中創(chuàng)建一個(gè)長(zhǎng)度固定的散列值。這些算法和數(shù)字簽名一起用于保證數(shù)據(jù)的完整性。如果再次散列相同的二進(jìn)制字符串,會(huì)返回相同的散列結(jié)果。MD5(Message Digest Algorithm 5)是由RSA實(shí)驗(yàn)室開(kāi)發(fā)的,比SHA1快。SHA1在抵御暴力攻擊方面比較強(qiáng)大。SHA算法是由美國(guó)國(guó)家安全局(NSA)設(shè)計(jì)的。MD5使用128位的散列值,SHA1使用160位。其它SHA算法在其名稱(chēng)中包含了散列長(zhǎng)度。SHA512是這些算法中最強(qiáng)大的,其散列長(zhǎng)度為512位,也是最慢的

對(duì)

 

稱(chēng)

DES, DESCryptoServiceProvider

TripleDES, TripleDESCryptoServiceProvider

AES, AESCryptoServiceProvider, AESManaged

RC2, RC2CryptoServiceProvider

Rijandel, RijandelManaged

對(duì)稱(chēng)密鑰算法使用相同的密鑰進(jìn)行數(shù)據(jù)的加密和解密。現(xiàn)在認(rèn)為DES(Data Encryption Standard)是不安全的,因?yàn)樗皇褂?6位的密鑰,可以在不超過(guò)24小時(shí)的時(shí)間內(nèi)破解。Triple DES是DES的繼任者,其密鑰長(zhǎng)度是168位,但它提供的有效安全性只有112位。AES(Advanced Encrytion Standard)是美國(guó)政府采用的加密標(biāo)準(zhǔn),其密鑰長(zhǎng)度是128、192或256位。Rijandel非常類(lèi)似于AES,只是在密鑰長(zhǎng)度方面的選項(xiàng)較多。

對(duì)

稱(chēng)

DSA, DSACryptoServiceProvider

ECDsa, ECDsaCng

ECDiffieHellman, ECDiffieHellmanCng

RSA, RSACryptoServiceProvider

非對(duì)稱(chēng)算法使用不同的密鑰進(jìn)行加密和解密。RSA(Rivest, Shamir, Adleman)是第一個(gè)用于簽名和加密的算法。這個(gè)算法廣泛用于電子商務(wù)協(xié)議。DSA(Digital Signature Algorithm)是美國(guó)聯(lián)邦數(shù)字簽名的政府標(biāo)準(zhǔn)。ECDsa(Elliptic Curve DSA)和ECDiffieHellman使用基于橢圓曲線組的算法。這些算法比較安全,且使用較短的密鑰長(zhǎng)度。例如,DSA的密鑰長(zhǎng)度為1024位,其安全性類(lèi)似于160位的ECDsa。因此,ECDsa比較快。ECDiffieHellman算法用于以安全的方式在公共信道中互換私鑰。

補(bǔ)充一下吧,關(guān)于性能方面,就同一種算法,有CryptoServiceProvider、Managed、Cng三種實(shí)現(xiàn)方式,我現(xiàn)在測(cè)試了散列中的方法,其中MD5是沒(méi)有Managed實(shí)現(xiàn)的,計(jì)算“Test”字符串的散列值10萬(wàn)次:

可以看出。Cng算法的速度是最差的,而Csp居中水平,Managed實(shí)現(xiàn)則速度非常快,另外,如果加大SHA算法的位數(shù)的話,當(dāng)?shù)?84位時(shí)差別就不再明顯,而且Csp算法所需時(shí)間成為了最少的方式,這個(gè)我認(rèn)為是操作系統(tǒng)API調(diào)用所形成的優(yōu)勢(shì):  

原文鏈接:http://www.cnblogs.com/lekko/archive/2012/09/11/2680288.html

責(zé)任編輯:林師授 來(lái)源: 博客園
相關(guān)推薦

2009-08-04 11:08:33

ASP.NET數(shù)據(jù)加密

2023-10-16 19:05:20

2010-01-14 14:56:07

2009-10-26 14:18:46

2020-12-16 05:46:58

算法加密算法MD5

2021-11-22 23:20:01

加密算法架構(gòu)

2023-08-02 07:27:53

2010-09-09 10:06:56

Zigbee協(xié)議棧加密算法

2020-05-08 11:13:28

Python數(shù)據(jù)技術(shù)

2009-08-13 18:12:11

C#數(shù)據(jù)加密

2023-07-30 17:44:24

CryptoJS加密字符串

2024-12-31 08:00:00

SpringBoot開(kāi)發(fā)加密

2009-08-21 15:02:31

C#加密算法

2011-08-18 12:12:29

2015-05-11 10:40:08

加密數(shù)字圖像加密加密算法

2020-05-09 14:20:11

信息安全加密

2016-11-16 15:23:09

2025-03-11 08:10:00

加密數(shù)據(jù)安全數(shù)據(jù)保護(hù)

2020-12-11 06:41:15

AES加密

2021-04-15 09:02:33

Python加密解密
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)