版權(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); 上面是加密的代碼,解密的代碼幾乎和上面完全一樣,步驟思路完全一樣。看下面,
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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 動(dòng)物用藥店的市場(chǎng)競(jìng)爭(zhēng)力提升策略與實(shí)施考核試卷
- 城市規(guī)劃中的經(jīng)濟(jì)影響因素考核試卷
- 危險(xiǎn)品倉(cāng)庫(kù)的安全生產(chǎn)許可證管理考核試卷
- 印刷業(yè)智能生產(chǎn)系統(tǒng)優(yōu)化與升級(jí)案例考核試卷
- 2025年度煤炭開(kāi)采居間合同與礦山環(huán)境保護(hù)責(zé)任書
- 天然氣勘探開(kāi)發(fā)地質(zhì)建模與儲(chǔ)量評(píng)估考核試卷
- 農(nóng)村集體經(jīng)濟(jì)組織成員權(quán)益保障考核試卷
- 娃娃玩具生產(chǎn)過(guò)程中的節(jié)能減排考核試卷
- 辦公室火災(zāi)事故的員工應(yīng)急處理考核試卷
- 血型分析課程設(shè)計(jì)
- 公務(wù)員考試工信部面試真題及解析
- GB/T 15593-2020輸血(液)器具用聚氯乙烯塑料
- 2023年上海英語(yǔ)高考卷及答案完整版
- 西北農(nóng)林科技大學(xué)高等數(shù)學(xué)期末考試試卷(含答案)
- 金紅葉紙業(yè)簡(jiǎn)介-2 -紙品及產(chǎn)品知識(shí)
- 《連鎖經(jīng)營(yíng)管理》課程教學(xué)大綱
- 《畢淑敏文集》電子書
- 頸椎JOA評(píng)分 表格
- 員工崗位能力評(píng)價(jià)標(biāo)準(zhǔn)
- 定量分析方法-課件
- 朱曦編著設(shè)計(jì)形態(tài)知識(shí)點(diǎn)
評(píng)論
0/150
提交評(píng)論