關鍵點有以下幾個:
1、openFileDialog控制項的使用
如果通過單擊選擇按鈕來實現選擇本地某個檔案的功能呢?
具體來說分為以下幾步:
a、建立Winform表單,畫好相應的控制項。
b、在工具箱中找到openFileDialog,拖到“選擇檔案”按鈕上,此時會出現如下這種效果:
此時openFileDialog會顯示在介面的下方,而不是介面上,這樣就可以了,通過單擊“選擇檔案”按鈕即可實現開啟本地某個檔案的功能。
同時“選擇檔案”按鈕的Click函數中需要添加下面幾行代碼:
DialogResult diaResult = this.openFile.ShowDialog();if (diaResult == DialogResult.OK){ //內部可以擷取檔案名稱之類的資訊}
那麼如果擷取開啟路徑下的檔案名稱、路徑資訊呢?
可以通過這幾個屬性來實現:
a、openFileDialog控制項的FileName屬性來擷取路徑資訊,此時的路徑資訊包含檔案名稱及檔案拓展名。
比如:E:\Work\Vs\TestEncryption\加密處理\待加密\死亡海岸線.txt
b、如果只想擷取“死亡海岸線”這個檔案名稱呢?
Path.GetFileNameWithoutExtension(pathName)即可以實現這個功能,而且此時不帶檔案拓展名奧,傳入參數pathName就是a中的路徑資訊。
那麼如何在選擇相應檔案後,擷取檔案大小及拓展名呢?如下代碼即可實現:
FileInfo fi = new FileInfo(pathName);filetype = fi.Extension;//檔案拓展名filesize = fi.Length;//檔案資訊的位元組數
openFileDialog控制項設定初始開啟路徑有三種方式:
1、下面兩行代碼的效果是一樣的(這是兩種):
openFileSave.InitialDirectory = "E:\\Work\\Vs\\TestEncryption\\加密處理\\儲存檔案";openFileSave.InitialDirectory = @"E:\\Work\\Vs\\TestEncryption\\加密處理\\儲存檔案";
還有一種方式是通過openFileDialog控制項右擊屬性來實現的。
其中有一個屬性是:InitialDirectory,在其後面填寫:E:\Work\Vs\TestEncryption\加密處理\待加密\儲存檔案,效果與上面兩行代碼一樣。
c、其中用到的幾個函數為:
/// <summary> /// 讀取執行路徑下檔案資訊 /// </summary> /// <param name="filename">指定的路徑</param> /// <param name="start">起始位置,一般設為零</param> /// <param name="length">檔案資訊的長度</param> /// <returns></returns> public static byte[] ReadFile(string filename, int start, int length) { byte[] btFile = null; using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read)) { btFile = new byte[length]; fs.Seek(start, SeekOrigin.Begin); fs.Read(btFile, 0, length); } return btFile; }
//將byte數群組轉換為string public static string BytesToString(byte[] bt) { return Encoding.UTF8.GetString(bt); }
小註:
1、關於C#加密的代碼,網上有各種各樣,大家可以參考。
2、MD5 並不是密碼編譯演算法,而是摘要演算法。密碼編譯演算法是可逆的,摘要演算法是理論上無法復原的。如果說MD5是密碼編譯演算法,那還不如稱他是超級壓縮演算法呢,因為你輸入任意長度的明文給他,結果都是一個定長16 、32、64。
3、將加密後的資訊寫入指定檔案,可以參考記錄文本日誌的函數。
4、ComBox控制項的使用可以參考:ComBox控制項。
以上就是C# 加密小工具代碼實現的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!