精品一区二区三区在线成人,欧美精产国品一二三区,Ji大巴进入女人66h,亚洲春色在线视频

利用RSA證書(shū)加解密敏感數(shù)據(jù)

安全 數(shù)據(jù)安全
X.509證書(shū)規(guī)范扶持三種不對(duì)稱(chēng)加密算法:RSA, DSA, Diffie-Hellman algorithms。本文來(lái)為大家介紹最常用的RSA,希望大家能夠?qū)用芗夹g(shù)有一個(gè)深入地了解。

RSA算法的描述中,文章利用makecert工具生成的生成的MyTestCert證書(shū)舉行加密解密,這個(gè)證書(shū)具有RSA算法1024位的密鑰對(duì),詳細(xì)的內(nèi)容見(jiàn)下文。 

Figure 12. RSA加密解密過(guò)程如下:

1、 生成證書(shū)、發(fā)放證書(shū)

證書(shū)利用前面“利用makecert工具獲得”章節(jié)生成的MyTestCert,當(dāng)然也能夠是從商業(yè)CA獲得的證書(shū)。你獲得的證書(shū)該當(dāng)是含有公鑰和私鑰的全面證書(shū),等閑是pfx形式的證書(shū)。要接逝步柢數(shù)據(jù),必需把你的公鑰發(fā)放給加密數(shù)據(jù)的加密方,加密方利用你的公鑰加密數(shù)據(jù)。證書(shū)要么以pfx形式存在,要么被導(dǎo)入到證書(shū)存儲(chǔ)區(qū)。

萬(wàn)一你的證書(shū)存在于證書(shū)存儲(chǔ)區(qū)能夠穿越證書(shū)管教扼制臺(tái)供給的證書(shū)導(dǎo)出功能導(dǎo)出只含有公鑰的cer證書(shū)。萬(wàn)一證書(shū)以pfx證書(shū)文件形式存在,能夠穿越代碼讀取證書(shū)然后導(dǎo)出為只含公鑰的cer證書(shū)。

2、 字符串明文轉(zhuǎn)成某一代碼頁(yè)對(duì)應(yīng)的編碼字節(jié)流

待加密的數(shù)據(jù)可能有兩種形式,一種是二進(jìn)制的數(shù)據(jù),本身即便一組字節(jié)流,這么的數(shù)據(jù)能夠跳過(guò)這一步,直接進(jìn)去加密環(huán)節(jié)。還有一種情形是字符串?dāng)?shù)據(jù),字符串中同樣的字符利用不同的代碼頁(yè)會(huì)生成不同的字節(jié)碼,因而從字符串到字節(jié)流的轉(zhuǎn)換是必需指定利用何種編碼的。在解密爾后,要從字節(jié)流通換到字符串即將利用雷同的代碼頁(yè)解碼,否則就會(huì)揭示亂碼。

//保留明文文件的字節(jié)數(shù)組

Byte[] plainTextByte = Encoding.UTF8.GetBytes(&ldquohttp://www.9tishop.info/lianxiwomen/545.htmlhttp://www.damuge.info/gongsi/627.html;RSA證書(shū)對(duì)敏感數(shù)據(jù)舉行加密http://www.myfo4.info/lianxiwomen/627.html!”);

這里用utf8代碼頁(yè)對(duì)明文舉行編碼,把明文字符串轉(zhuǎn)成字節(jié)流。

3、 加密壟斷

//從只包括公鑰的證書(shū)文件載入證書(shū)

X509Certificate2 myX509Certificate2 = new X509Certificate2(@"C:/Samples/PartnerAEncryptMsg/MyTestCert.cer");

//從cer證書(shū)中獲得含公鑰的RSACryptoServiceProvider

RSACryptoServiceProvider myRSACryptoServiceProvider = (RSACryptoServiceProvider)myX509Certificate2.PublicKey.Key;

//利用RSACryptoServiceProvider把明文字節(jié)流加密為密文字節(jié)流

Byte[] Cryptograph = myRSACryptoServiceProvider.Encrypt(plainTextByte,gexinghua.org false);

利用1024為的密鑰加密,原料該當(dāng)是128字節(jié)(1024位)的byte[]的原始數(shù)據(jù),加密后的數(shù)據(jù)也是128字節(jié)(1024位),萬(wàn)一明文不足128字節(jié),RSACryptoServiceProvider會(huì)積極用隨機(jī)數(shù)補(bǔ)足128字節(jié)。

Dotnet的RSA告終有個(gè)個(gè)性,它定然要在明文中增加一些隨機(jī)數(shù),因而明文不能把128字節(jié)占滿(mǎn),切實(shí)測(cè)驗(yàn),明文最多為117字節(jié),留下的空間用來(lái)添補(bǔ)隨機(jī)數(shù)。

因而,用統(tǒng)一個(gè)密鑰對(duì)統(tǒng)一串字符串舉行加密,每次獲得的密文都是不一樣的。

4、 解密壟斷

//從證書(shū)文件載入證書(shū),萬(wàn)一含有私鑰的,必需供給保留證書(shū)時(shí)設(shè)置的密碼

X509Certificate2 myX509Certificate2 = new X509Certificate2(@"C:/Samples/PartnerAEncryptMsg/MyTestCert.pfx", "password");

//從證書(shū)中獲得含私鑰的RSACryptoServiceProvider

RSACryptoServiceProvider myRSACryptoServiceProvider = (RSACryptoServiceProvider)myX509Certificate2.PrivateKey;

//利用RSACryptoServiceProvider把密文字節(jié)流解密為明文字節(jié)流

byte[] plaintextByte = myRSACryptoServiceProvider.Decrypt(Cryptograph, false);

解密必需載入含私鑰的pfx證書(shū),必需供給私鑰防御密碼。

5、 從編碼字節(jié)流通成字符串明文

利用加密時(shí)批準(zhǔn)的同樣的代碼頁(yè)utf8把解密后的明文byte[]轉(zhuǎn)成字符串:string Plaintext = Encoding.UTF8.GetString(plaintextByte);

RSA加密算法的敘述就結(jié)束了,你看懂了嗎?如果理解起來(lái)有些困難,你還可以在:http://netsecurity.51cto.com/art/200512/13527.htm中尋找些基礎(chǔ)的內(nèi)容附注你理解。

【編輯推薦】

  1. 生成和交換預(yù)共享密鑰
  2. PKI基礎(chǔ)內(nèi)容介紹(1)
  3. 破解你的密碼需要多長(zhǎng)時(shí)間?
  4. 信息安全的核心之密碼技術(shù) 上
  5. 揭露維基解密竊取機(jī)密信息新手段
  6. 防御網(wǎng)絡(luò)威脅UTM技術(shù)解密(圖示)
責(zé)任編輯:佚名 來(lái)源: 新浪
相關(guān)推薦

2016-09-27 19:30:11

2020-12-13 09:40:11

物聯(lián)網(wǎng)物聯(lián)網(wǎng)安全加密方法

2022-01-26 07:25:09

PythonRSA加解密

2010-09-25 08:55:29

2009-04-20 15:59:51

數(shù)據(jù)丟失產(chǎn)品RSA

2023-10-23 10:39:05

2024-01-01 14:19:11

2020-10-25 09:04:46

數(shù)據(jù)加密數(shù)據(jù)泄露攻擊

2023-06-27 07:26:36

汽車(chē)之家敏感數(shù)據(jù)治理

2020-04-16 08:00:00

Ansible Vau敏感數(shù)據(jù)加密

2023-10-30 15:35:05

數(shù)據(jù)安全數(shù)據(jù)驅(qū)動(dòng)

2021-09-16 10:11:15

Dataphin 數(shù)據(jù)保護(hù)

2024-03-05 09:40:35

2021-10-28 09:42:38

代碼編碼開(kāi)發(fā)

2020-12-20 17:30:17

數(shù)據(jù)匿名化敏感數(shù)據(jù)數(shù)據(jù)庫(kù)

2012-04-12 14:45:12

賽門(mén)鐵克云南電網(wǎng)

2024-01-01 15:53:25

2025-01-21 14:48:39

2024-10-15 10:38:32

2019-10-16 09:01:22

HTTPS RSA解密
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 元江| 建湖县| 阿尔山市| 禹州市| 五莲县| 红河县| 松滋市| 德令哈市| 宜丰县| 竹山县| 汶上县| 临颍县| 同江市| 盐池县| 手游| 专栏| 武山县| 六枝特区| 普定县| 禹州市| 图木舒克市| 连城县| 河曲县| 攀枝花市| 色达县| 肥西县| 临湘市| 玛纳斯县| 阿坝县| 司法| 依兰县| 东乡县| 蒲江县| 揭东县| 阿克陶县| 姚安县| 根河市| 乾安县| 吉安县| 黑龙江省| 深水埗区|