国产人伦视频在线观看_欧美福利视频午夜福利_日本免费三级黄色网址_re99热在线观看精品_在线观看水蜜桃小心视频网站_亚洲国产欧美一区二区麻豆_久久精品国产69精品亚洲_农村女人一级毛片农村妇女_日韩不卡免费av_毛片无码高潮喷液视频

當(dāng)前位置:首頁(yè) > 軟件開(kāi)放 > 正文內(nèi)容

代碼實(shí)現(xiàn)文件加密方法(代碼加密是什么意思)

軟件開(kāi)放11個(gè)月前 (02-25)410

程序世界里的一切都是圍繞信息做的處理,信息的傳輸安全尤為重要.jwt作為一個(gè)可用作分布式的web Token解決方案,就是基于信息的加密解密做的,所以要從根本上理解jwt,那加密解密是繞不開(kāi)的一個(gè)話題.

在密碼學(xué)中, 加密(英語(yǔ):Encryption)是將明文信息改變?yōu)殡y以讀取的密文內(nèi)容,使之不可讀的過(guò)程。只有擁有解密方法的對(duì)象,經(jīng)由解密過(guò)程,才能將密文還原為正??勺x的內(nèi)容。理想情況下,只有經(jīng)授權(quán)的人員能夠讀取密文所要傳達(dá)的信息。加密本身并不能防止信息傳輸被截取,但加密能防止截取者理解其內(nèi)容。因?yàn)榉N種技術(shù)原因,加密方法通常使用一個(gè)通過(guò)算法生成的偽隨機(jī)密鑰。雖然任何加密后的消息都可能被破解,但對(duì)于一個(gè)良好的加密算法而言,破解需要相當(dāng)多的技術(shù)和算力。授權(quán)讀取信息的人可以輕松通過(guò)發(fā)信人所提供的密鑰解密信息,但未經(jīng)授權(quán)的人員則不行。密碼學(xué)歷史中有眾多加密方法;早期的加密方法常用于軍事通訊。從此開(kāi)始,現(xiàn)代計(jì)算中也出現(xiàn)了眾多加密技術(shù),并且加密在現(xiàn)代計(jì)算中也變得越來(lái)越常見(jiàn)。[1]現(xiàn)代的加密方式通常使用公鑰或?qū)ΨQ(chēng)密鑰?,F(xiàn)代加密技術(shù)依賴現(xiàn)代計(jì)算機(jī)在破解密鑰上并不高效的事實(shí)來(lái)保證其安全性。

--維基百科

--維基百科

從維基百科的描述可知加密實(shí)際上是通過(guò)一系列計(jì)算將人類(lèi)可以理解的文字轉(zhuǎn)換成人類(lèi)無(wú)法直接理解的內(nèi)容,解密就是將加密后的內(nèi)容再還原回去的過(guò)程,理論上來(lái)說(shuō)不存在無(wú)法破解的密文.

2.分類(lèi):

對(duì)稱(chēng)密鑰加密

在對(duì)稱(chēng)密鑰加密方案中,加密和解密密鑰是相同的。通信方必須具有相同的密鑰才能實(shí)現(xiàn)安全通信。對(duì)稱(chēng)密鑰的一個(gè)典型例子:德國(guó)軍方的恩尼格瑪密碼機(jī)。這種密碼機(jī)每天都有密鑰設(shè)置。當(dāng)盟軍弄清楚機(jī)器如何工作時(shí),他們能夠在發(fā)現(xiàn)給定日期傳輸?shù)募用苊荑€后立即解密消息中編碼的信息。

公鑰加密[俗稱(chēng) :非對(duì)稱(chēng)加密]

在公鑰加密(即公開(kāi)密鑰加密)方案中,發(fā)布加密密鑰供任何人使用和加密消息。但是,只有接收方才能訪問(wèn)能夠讀取消息的解密密鑰。公鑰加密最早是在1973年的一份秘密文件中描述的[3]; 之前所有加密方案都是對(duì)稱(chēng)密鑰加密(也稱(chēng)為私鑰)。

3.在.net中的實(shí)現(xiàn)

所有加密相關(guān)的都在 System.Security.Cryptography類(lèi)庫(kù)下,本文所有代碼都需要引用System.Security.Cryptography

1.對(duì)稱(chēng)密鑰加密

缺點(diǎn)加密解密雙方的密鑰是相同的,密鑰傳輸是一個(gè)非常大的問(wèn)題,唯一的密鑰泄漏后,就不再安全,相對(duì)來(lái)說(shuō)Aes加密計(jì)算更加復(fù)雜一些,被窮舉的可能性更低,本文在對(duì)稱(chēng)密鑰加密中只介紹DES和Aes兩種

DES.Create方法創(chuàng)建的DES對(duì)象會(huì)有一個(gè)默認(rèn)的Key,在自己的項(xiàng)目中使用的時(shí)候,這個(gè)公鑰信息要保存好,確保加解密都使用相同的密鑰進(jìn)行即可. 所有加密類(lèi)都是基于byte[]做的,所以在做此類(lèi)封裝的時(shí)候,如果是針對(duì)字符串做加密,一定要統(tǒng)一字符編碼,加密用Utf8,解密也用Utf8.

DES實(shí)現(xiàn)加解密,密鑰要求是 byte[8]如下:

AES是由DES發(fā)展而來(lái)它比DES多了一個(gè)叫IV向量的東西,密鑰從原先的8位提升到了 32位,IV向量必須是 16位的.具體原理可以去翻文檔,同樣的Aes.Create也會(huì)默認(rèn)有一個(gè)IV和Key.

對(duì)稱(chēng)密鑰加密在編碼中容易出錯(cuò)的地方就在密鑰的設(shè)置的時(shí)候,也許密鑰長(zhǎng)度還有其他可能或者組合,不去深究了.

2. 公鑰加密(非對(duì)稱(chēng)加密)

展開(kāi)全文

相對(duì)于對(duì)稱(chēng)密鑰加密,公鑰加密是一種全新的密碼方案,該方案中表示密鑰的有兩個(gè)一個(gè)私鑰一個(gè)公鑰,通過(guò)公鑰加密,只能通過(guò)私鑰進(jìn)行解密,相比對(duì)稱(chēng)密鑰加密,公鑰加密不需要考慮密鑰傳輸?shù)膯?wèn)題,所以也就不存在密鑰泄漏的問(wèn)題,在微軟文檔中有明確提示,不應(yīng)在任何情況下以明文形式保存私鑰,建議的方案是將私鑰保存到本機(jī)的私鑰管理器中,不過(guò)為了寫(xiě)出下邊的代碼,我決定不接受他的建議

RSA.Create 同樣會(huì)生成默認(rèn)的公鑰和私鑰,想讓別人使用自己頒發(fā)的公鑰,用這個(gè)生成就行了,

stringtest = "你好開(kāi)發(fā)者"; byte[] encryptedSymmetricKey = rsa.Encrypt(Encoding.UTF8.GetBytes(test), RSAEncryptionPadding.Pkcs1); Console.WriteLine( $"加密后的數(shù)據(jù): {Convert.ToBase64String(encryptedSymmetricKey)}" );

/*解密*/varrasDes = RSA.Create; //導(dǎo)入私鑰解密rasDes.ImportRSAPrivateKey(Convert.FromBase64String(prikey), outintbytesRead2); vardes = rasDes.Decrypt(encryptedSymmetricKey, RSAEncryptionPadding.Pkcs1); Console.WriteLine( $"解密后的數(shù)據(jù): {Encoding.UTF8.GetString(des)}" );

可以看到確實(shí)如描述一般,公鑰加密后就能通過(guò)私鑰解密了.

代碼實(shí)現(xiàn)文件加密方法(代碼加密是什么意思)

3. Hash摘要算法

hash摘要算法不能算到加密解密中,因?yàn)榛谒挠?jì)算是不可逆的,在一定數(shù)據(jù)范圍[]內(nèi)不重復(fù),但不保證不一樣的兩個(gè)明文不會(huì)被計(jì)算為一個(gè)結(jié)果.所以在加密解密家族群里,它是妥妥的滅絕師太,渣男,只管加密不管解.,一個(gè)比較重要的特點(diǎn)就是 通過(guò)摘要算法計(jì)算可以將不同長(zhǎng)度的數(shù)據(jù)計(jì)算為一個(gè)固定位長(zhǎng)度的byte數(shù)組.一般用于保存密碼,等永遠(yuǎn)沒(méi)有查看需求的地方.就算拿到加密串你也拿它沒(méi)轍.最常見(jiàn)的就是MD5,其實(shí)還有好多,好在.net已經(jīng)將這些常用的都做了封裝.代碼如下:

掃描二維碼推送至手機(jī)訪問(wèn)。

版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。

本文鏈接:http://mbtw.com.cn/post/91423.html

“代碼實(shí)現(xiàn)文件加密方法(代碼加密是什么意思)” 的相關(guān)文章

蘋(píng)果手機(jī)軟件開(kāi)發(fā)(蘋(píng)果手機(jī)軟件開(kāi)發(fā)教程)

蘋(píng)果手機(jī)軟件開(kāi)發(fā)(蘋(píng)果手機(jī)軟件開(kāi)發(fā)教程)

今天給各位分享蘋(píng)果手機(jī)軟件開(kāi)發(fā)的知識(shí),其中也會(huì)對(duì)蘋(píng)果手機(jī)軟件開(kāi)發(fā)教程進(jìn)行解釋?zhuān)绻芘銮山鉀Q你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!本文目錄一覽: 1、開(kāi)發(fā)蘋(píng)果app需掌握什么開(kāi)發(fā)工具? 2、在蘋(píng)果手機(jī)開(kāi)發(fā)一款app軟件大概需要多少錢(qián) 3、ios端的手機(jī)app開(kāi)發(fā)要怎么做? 4、開(kāi)...

軟件開(kāi)發(fā)成本(軟件開(kāi)發(fā)成本預(yù)算表)

軟件開(kāi)發(fā)成本(軟件開(kāi)發(fā)成本預(yù)算表)

本篇文章給大家談?wù)勡浖_(kāi)發(fā)成本,以及軟件開(kāi)發(fā)成本預(yù)算表對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、軟件開(kāi)發(fā)的成本 2、如何確定軟件的開(kāi)發(fā)成本價(jià)格? 3、開(kāi)一家軟件開(kāi)發(fā)公司,大概需要多少投入? 4、軟件開(kāi)發(fā)成本屬于什么科目 5、軟件開(kāi)發(fā)成本有哪些?...

紅盟發(fā)卡網(wǎng)源碼(紅盟發(fā)卡網(wǎng)源碼查詢)

紅盟發(fā)卡網(wǎng)源碼(紅盟發(fā)卡網(wǎng)源碼查詢)

今天給各位分享紅盟發(fā)卡網(wǎng)源碼的知識(shí),其中也會(huì)對(duì)紅盟發(fā)卡網(wǎng)源碼查詢進(jìn)行解釋?zhuān)绻芘銮山鉀Q你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!本文目錄一覽: 1、發(fā)卡網(wǎng)源碼支付寶對(duì)接 2、如何創(chuàng)建一個(gè)自己的發(fā)卡網(wǎng)平臺(tái),將其作為副業(yè)收入如何? 3、卡網(wǎng)網(wǎng)站怎么做 4、請(qǐng)問(wèn)誰(shuí)有網(wǎng)站自動(dòng)發(fā)卡平臺(tái)的源碼...

送真充手游(送真充手游哪個(gè)最好玩)

送真充手游(送真充手游哪個(gè)最好玩)

今天給各位分享送真充手游的知識(shí),其中也會(huì)對(duì)送真充手游哪個(gè)最好玩進(jìn)行解釋?zhuān)绻芘銮山鉀Q你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!本文目錄一覽: 1、和凡人飛仙傳(無(wú)限送真充)類(lèi)似手游有嗎? 2、魂斗三國(guó)(策劃送真充)手游充值有打折嗎? 3、和摸金校尉之天字卷(無(wú)限送真充)類(lèi)似手游有嗎?...

手游交易平臺(tái)哪個(gè)好5173(手游交易平臺(tái)哪個(gè)好2022)

手游交易平臺(tái)哪個(gè)好5173(手游交易平臺(tái)哪個(gè)好2022)

本篇文章給大家談?wù)勈钟谓灰灼脚_(tái)哪個(gè)好5173,以及手游交易平臺(tái)哪個(gè)好2022對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、游戲賬號(hào)在哪個(gè)網(wǎng)站交易比較好? 2、正規(guī)靠譜的游戲賬號(hào)交易平臺(tái)有哪些? 3、賬號(hào)交易平臺(tái)哪個(gè)好? 4、十大手游交易平臺(tái)排行榜 游戲賬號(hào)...

怎樣看懂心電圖波形(怎么看心電圖的波形)

怎樣看懂心電圖波形(怎么看心電圖的波形)

今天給各位分享怎樣看懂心電圖波形的知識(shí),其中也會(huì)對(duì)怎么看心電圖的波形進(jìn)行解釋?zhuān)绻芘銮山鉀Q你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!本文目錄一覽: 1、心電圖怎么看,心電圖講解,心電圖t波改變 2、怎樣看心電圖曲線 3、心電圖怎么看? 4、心電圖怎么看_怎么看懂心電圖 5、教你...