日韩精品亚洲精品中文字幕乱伦AV|曰韩区二区三区日韩中文字幕五码|ady99久久人人看人人摸人人|动漫一区二区黄99精品视频在线|AV片在线观看亚洲中文国产精品|伦乱在线VA欧美性爱一二区|亚洲无码mv91热色视频|激情六月综合欧美精品中文

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

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

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

程序世界里的一切都是圍繞信息做的處理,信息的傳輸安全尤為重要.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密鑰?,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ì)稱密鑰加密

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

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

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

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

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

1.對(duì)稱密鑰加密

缺點(diǎn)加密解密雙方的密鑰是相同的,密鑰傳輸是一個(gè)非常大的問(wèn)題,唯一的密鑰泄漏后,就不再安全,相對(duì)來(lái)說(shuō)Aes加密計(jì)算更加復(fù)雜一些,被窮舉的可能性更低,本文在對(duì)稱密鑰加密中只介紹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ì)稱密鑰加密在編碼中容易出錯(cuò)的地方就在密鑰的設(shè)置的時(shí)候,也許密鑰長(zhǎng)度還有其他可能或者組合,不去深究了.

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

展開(kāi)全文

相對(duì)于對(duì)稱密鑰加密,公鑰加密是一種全新的密碼方案,該方案中表示密鑰的有兩個(gè)一個(gè)私鑰一個(gè)公鑰,通過(guò)公鑰加密,只能通過(guò)私鑰進(jìn)行解密,相比對(duì)稱密鑰加密,公鑰加密不需要考慮密鑰傳輸?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://www.atlasseeker.com/post/91423.html

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

手機(jī)怎么用電腦端瀏覽器(如何手機(jī)使用電腦瀏覽器)

手機(jī)怎么用電腦端瀏覽器(如何手機(jī)使用電腦瀏覽器)

今天給各位分享手機(jī)怎么用電腦端瀏覽器的知識(shí),其中也會(huì)對(duì)如何手機(jī)使用電腦瀏覽器進(jìn)行解釋?zhuān)绻芘銮山鉀Q你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!本文目錄一覽: 1、安卓手機(jī)瀏覽器怎么設(shè)置成電腦版 2、手機(jī)瀏覽器怎么切換電腦版 3、手機(jī)怎么進(jìn)去電腦版網(wǎng)頁(yè) 安卓手機(jī)瀏覽器怎么設(shè)置成電腦版 安...

女孩子做裝修銷(xiāo)售好不(裝飾裝修銷(xiāo)售好做不)

女孩子做裝修銷(xiāo)售好不(裝飾裝修銷(xiāo)售好做不)

本篇文章給大家談?wù)勁⒆幼鲅b修銷(xiāo)售好不,以及裝飾裝修銷(xiāo)售好做不對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、女孩子到底適不適合做房產(chǎn)銷(xiāo)售,說(shuō)的詳細(xì)點(diǎn),謝謝~ 2、女孩子做銷(xiāo)售合適嗎?會(huì)有哪些不便 3、大家來(lái)說(shuō)說(shuō),女孩子做銷(xiāo)售、客戶好嗎? 女孩子到底適不適合做房...

手機(jī)搬磚游戲賺錢(qián)的手游2022(2021能搬磚賺人民幣的手游)

手機(jī)搬磚游戲賺錢(qián)的手游2022(2021能搬磚賺人民幣的手游)

本篇文章給大家談?wù)勈謾C(jī)搬磚游戲賺錢(qián)的手游2022,以及2021能搬磚賺人民幣的手游對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、2022年4月14日最靠譜良心手游賺現(xiàn)金版有那些 2、賺錢(qián)手游排行榜2022 3、適合一臺(tái)手機(jī)搬磚的手游 2022年4月14日最靠譜...

eclipse默認(rèn)工作空間路徑設(shè)置(eclipse配置構(gòu)建路徑)

eclipse默認(rèn)工作空間路徑設(shè)置(eclipse配置構(gòu)建路徑)

今天給各位分享eclipse默認(rèn)工作空間路徑設(shè)置的知識(shí),其中也會(huì)對(duì)eclipse配置構(gòu)建路徑進(jìn)行解釋?zhuān)绻芘銮山鉀Q你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!本文目錄一覽: 1、如何修改eclipse默認(rèn)的工作空間路徑及字體顯示 2、怎么修改Eclipse默認(rèn)打開(kāi)路徑 3、eclipse...

webview打不開(kāi)網(wǎng)頁(yè)可能是什么問(wèn)題(webview組件安裝異常)

webview打不開(kāi)網(wǎng)頁(yè)可能是什么問(wèn)題(webview組件安裝異常)

今天給各位分享webview打不開(kāi)網(wǎng)頁(yè)可能是什么問(wèn)題的知識(shí),其中也會(huì)對(duì)webview組件安裝異常進(jìn)行解釋?zhuān)绻芘銮山鉀Q你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!本文目錄一覽: 1、WebView篇—— 加載Web頁(yè)面空白原因 2、WebView加載不出來(lái),顯示空白頁(yè)面 3、WKWebV...

房頂有十字梁怎么裝修(有十字梁怎么吊頂)

房頂有十字梁怎么裝修(有十字梁怎么吊頂)

本篇文章給大家談?wù)劮宽斢惺至涸趺囱b修,以及有十字梁怎么吊頂對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、老師你好!我家樓房入戶門(mén)口有個(gè)十字橫梁怎么辦好? 2、十字形梁怎么裝 3、客廳有橫梁如何裝修?用這6個(gè)方法,更漂亮 4、房頂中間有兩條長(zhǎng)梁怎么裝修好看?...