




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、c#加密文件只可以對(duì)文件本身加密,卻不能對(duì)文件夾加密,經(jīng)查詢得知:是系統(tǒng)限制了,不知道真假,大家可在查詢,把結(jié)果告訴大家共享。其實(shí)系統(tǒng)已經(jīng)集成了對(duì)文件夾和硬盤的加密的功能。下面是對(duì)單個(gè)文件的加密代碼: 引用中主要是添加了兩個(gè):using System.Security.Cryptography; using System.IO;源碼(帶有詳細(xì)的注釋): using System;using System.Collections.Generic;using Syste
2、m.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Security.Cryptography;using System.IO;namespace xiaoxia public partial class FileJiami : Form public FileJi
3、ami() InitializeComponent(); private void FileJiami_Load(object sender, EventArgs e)
4、0; private void button1_Click(object sender, EventArgs e) /文件瀏覽
5、 if (this.openFileDialog1.ShowDialog() = DialogResult.OK) this.txtFileIn.Text = this.openFileDialog1.
6、FileName; this.txtFileOut.Text = "填寫名稱和后綴" priva
7、te void button2_Click(object sender, EventArgs e) /文件加密 if (this.txtFileIn.Text = "")
8、 /輸入文件檢測(cè) MessageBox.Show("請(qǐng)選擇加密文件!", "小俠提示您:", MessageBoxButton
9、s.OK, MessageBoxIcon.Information); return; if (this.txtFileOut.Text = "&
10、quot;) /輸出文件檢測(cè) MessageBox.Show("請(qǐng)輸入輸出文件名!",
11、 "小俠提示您:", MessageBoxButtons.OK, MessageBoxIcon.Information); return;
12、0; if (this.txtMima1.Text.Length < 6 | this.txtMima2.Text != this.txtMima1.Text) /輸入密碼檢測(cè)
13、0; MessageBox.Show("請(qǐng)輸入正確密碼!", "小俠提示您:", MessageBoxButtons.OK, MessageBoxIcon.Information); return; &
14、#160; /獲得被加密文件名 string myInFileName = this.txtFileIn.Text; &
15、#160; /獲得加密文件名 string myOutFileName = this.txtFileOut.Text; /設(shè)定初始變量 byte myDES
16、IV=0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,; byte myDESKey = ; /根據(jù)密碼設(shè)置密鑰大小 string myKeyString = this.t
17、xtMima1.Text; if (myKeyString.Length = 6) myDESKey = new byte (byte)myKeyStri
18、ng0, (byte)myKeyString1, (byte)myKeyString2, (byte)myKeyString3, (byte)myKeyString4, (byte)myKeyString5, 0x07, 0x08 ; if (myKeyString.Length = 7)
19、0; myDESKey = new byte (byte)myKeyString0, (byte)myKeyString1, (byte)myKeyString2, (byte)myKeyString3, (byte)myKeyString4, (byte)myKeyString5, (byte)myKeyString6, 0x07
20、; if (myKeyString.Length >=8)
21、160; myDESKey = new byte (byte)myKeyString0, (byte)myKeyString1, (byte)myKeyString2, (byte)myKeyString3, (byte)myKeyString4, (byte)myKeyString5, (byte)myKeyString6, (byte)myKeyString7 ;
22、 /創(chuàng)建輸入和輸出文件流 FileStream myInFileStream = new FileStream(myInFileName, FileMode.Open, FileAccess.Read); FileStream myOutFileStream =
23、new FileStream(myOutFileName, FileMode.OpenOrCreate, FileAccess.Write); myOutFileStream.SetLength(0); /每次的中間流
24、; byte inSertData = new byte100; /代表已經(jīng)加密流的大小 int completedLength = 0; /代表要加密文件總的大小
25、160; long inFileSize = myInFileStream.Length; /創(chuàng)建DES對(duì)象 DES myDES = new DESCryptoServiceProvider();
26、0; /創(chuàng)建加密流 CryptoStream enCrytoStream = new CryptoStream(myOutFileStream, myDES.CreateEncryptor(myDESKey, myDESIV), CryptoStreamMode.Write);
27、; /從輸入文件中讀取流,然后加密到輸出文件流 while (completedLength < inFileSize) /
28、每次寫入加密文件的數(shù)據(jù)大小 int length = myInFileStream.Read(inSertData, 0, 100); enCrytoStream.Write(inSertData, 0, length);
29、60; completedLength += length; /關(guān)閉流
30、 enCrytoStream.Close(); myInFileStream.Close(); myOutFileStream.Close(); MessageBox.Show(&
31、quot;文件加密操作成功!", "小俠提示您:", MessageBoxButtons.OK, MessageBoxIcon.Information); 上面是加密的代碼,解密的代碼幾乎和上面完全一樣,步驟思路完全一樣??聪旅妫?/p>
32、可對(duì)比上面:主要是在try()里面有以下實(shí)現(xiàn),其他代碼相同,略: /獲得要解密的文件名 /獲得要保存的文件名 /設(shè)定初始向量 /根據(jù)密碼算出密鑰 /創(chuàng)建輸入和輸出文件流 &
33、#160; /每次的中間流 /代表已經(jīng)加密流的大小 /代表要加密文件總的大小 /創(chuàng)建DES對(duì)象 /創(chuàng)建解密流 /從輸入文件中讀取流,然后解密到輸出文件中 &
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 法治發(fā)展中的問(wèn)題與對(duì)策試題及答案
- 戰(zhàn)略執(zhí)行中的障礙與風(fēng)險(xiǎn)試題及答案
- 四川省德陽(yáng)市德陽(yáng)中學(xué)2025年七年級(jí)數(shù)學(xué)第二學(xué)期期末復(fù)習(xí)檢測(cè)試題含解析
- 2025至2030年中國(guó)廣告牙簽盒行業(yè)投資前景及策略咨詢研究報(bào)告
- 資本結(jié)構(gòu)與戰(zhàn)略實(shí)施的協(xié)同試題及答案
- 2025至2030年中國(guó)單軌車行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年軟考成長(zhǎng)之路試題及答案分享
- 大數(shù)據(jù)技術(shù)的應(yīng)用前景試題及答案
- 2025年中國(guó)金皮麻面料市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)金屬明火點(diǎn)火器市場(chǎng)調(diào)查研究報(bào)告
- 2024年浙江省單獨(dú)考試招生文化課考試數(shù)學(xué)試卷真題(含答案詳解)
- 《智慧農(nóng)業(yè)科技興農(nóng)》演講課件
- 智慧果園生產(chǎn)管理系統(tǒng)-培訓(xùn)
- 三年級(jí)數(shù)學(xué)下冊(cè)計(jì)算題大全(每日一練共18份)
- 2024年高級(jí)衛(wèi)生專業(yè)技術(shù)資格考試傳染性疾病控制(087)(副高級(jí))復(fù)習(xí)試題及解答
- EDI工程手冊(cè)中文
- 高二語(yǔ)文九日齊山登高省公開課金獎(jiǎng)全國(guó)賽課一等獎(jiǎng)微課獲獎(jiǎng)?wù)n件
- 2024年四川省成都市中考地理+生物試卷真題(含答案解析)
- 食品工程系畜產(chǎn)品加工技術(shù)教案
- 入股合作的協(xié)議書(2024版)
- 廣東省深圳市南山區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期期末英語(yǔ)試題
評(píng)論
0/150
提交評(píng)論