自拍偷在线精品自拍偷|国产无码一区二区久久|最新版天堂资源中文官网|国产精品第一页爽爽影院|国产精品一区二区av不卡|久久久波多野av一区无码|国产欧美日本亚洲精品一4区|亚洲精品天堂在线观看2020

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

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

軟件開放12個(gè)月前 (02-25)422

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

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

--維基百科

--維基百科

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

2.分類:

對(duì)稱密鑰加密

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

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

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

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

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

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

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

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

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

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

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

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

展開全文

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

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

stringtest = "你好開發(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í)如描述一般,公鑰加密后就能通過私鑰解密了.

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

3. Hash摘要算法

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

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

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

本文鏈接:http://m.thonggone.com/post/91423.html

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

長(zhǎng)沙軟件開發(fā)公司(長(zhǎng)沙軟件開發(fā)公司排名)

長(zhǎng)沙軟件開發(fā)公司(長(zhǎng)沙軟件開發(fā)公司排名)

今天給各位分享長(zhǎng)沙軟件開發(fā)公司的知識(shí),其中也會(huì)對(duì)長(zhǎng)沙軟件開發(fā)公司排名進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、長(zhǎng)沙正宇軟件開發(fā)有限公司上班怎么樣 2、長(zhǎng)沙有哪些軟件公司?能將名單列出來嗎? 3、長(zhǎng)沙天軟軟件開發(fā)有限公司怎么樣? 4、長(zhǎng)沙凹印...

python網(wǎng)站開發(fā)模板(python 網(wǎng)站框架)

python網(wǎng)站開發(fā)模板(python 網(wǎng)站框架)

本篇文章給大家談?wù)刾ython網(wǎng)站開發(fā)模板,以及python 網(wǎng)站框架對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、python web開發(fā) 該用什么框架 2、使用python創(chuàng)建web靜態(tài)網(wǎng)站 3、怎么用python簡(jiǎn)單的制作一個(gè)網(wǎng)頁 4、Python 有...

eclipse學(xué)java選哪個(gè)安裝(怎樣安裝java和eclipse)

eclipse學(xué)java選哪個(gè)安裝(怎樣安裝java和eclipse)

本篇文章給大家談?wù)別clipse學(xué)java選哪個(gè)安裝,以及怎樣安裝java和eclipse對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、我是JAVA初學(xué)者Eclipse 用哪個(gè)版本? 2、想在Eclipse中學(xué)習(xí)javaswing開發(fā),請(qǐng)問要安裝哪些開發(fā)軟件 3...

蘋果登錄ID時(shí)安全碼(登陸蘋果id安全碼是啥)

蘋果登錄ID時(shí)安全碼(登陸蘋果id安全碼是啥)

本篇文章給大家談?wù)勌O果登錄ID時(shí)安全碼,以及登陸蘋果id安全碼是啥對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、使用蘋果id但是已經(jīng)不用蘋果手機(jī)了安全碼怎么寫 2、請(qǐng)問,注冊(cè)蘋果id安全碼是什么 3、在蘋果手機(jī)中銀行卡的安全碼是什么意思? 使用蘋果id但是已經(jīng)...

陽臺(tái)的裝修設(shè)計(jì)圖片大全(陽臺(tái)的裝修設(shè)計(jì)圖片大全集)

陽臺(tái)的裝修設(shè)計(jì)圖片大全(陽臺(tái)的裝修設(shè)計(jì)圖片大全集)

本篇文章給大家談?wù)勱柵_(tái)的裝修設(shè)計(jì)圖片大全,以及陽臺(tái)的裝修設(shè)計(jì)圖片大全集對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、陽臺(tái)頂部裝修效果圖 小陽臺(tái)怎么設(shè)計(jì) 2、一樓陽臺(tái)裝修效果圖 6款陽臺(tái)設(shè)計(jì)隨你選 3、主臥陽臺(tái)裝修效果圖 多款溫馨雅致的室內(nèi)陽臺(tái)設(shè)計(jì) 陽臺(tái)頂部裝修...

404頁面模板下載(404頁面怎么寫)

404頁面模板下載(404頁面怎么寫)

本篇文章給大家談?wù)?04頁面模板下載,以及404頁面怎么寫對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、網(wǎng)站404頁面怎么設(shè)置 設(shè)置過程中需要注意那些東西 2、怎么給織夢(mèng)網(wǎng)站做一個(gè)404頁面 3、網(wǎng)站404頁面怎么做 網(wǎng)站404頁面怎么設(shè)置 設(shè)置過程中需要注意...