婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 一個簡單的文件MD5碼自動計算比較器(附源碼)

一個簡單的文件MD5碼自動計算比較器(附源碼)

熱門標簽:玉林市機器人外呼系統哪家好 百度ai地圖標注 合肥電銷外呼系統哪家公司做的好 電話機器人軟件銷售工作 預測式外呼系統使用說明 蘋果手機凱立德地圖標注 同安公安400電話怎么申請流程 南陽外呼系統定制化 申請400電話手續

主要對 多線程更新 winform 不是特別清楚,繞來繞去,搞得很暈乎,主要代碼如下, 還請各位大俠多多指點,謝謝!

復制代碼 代碼如下:

using System;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Data;
 using System.Drawing;
 using System.Linq;
 using System.Text;
 using System.Windows.Forms;
 using System.Security.Cryptography;
 using System.IO;
 using System.Threading;

 namespace FileMD5 {
     public partial class MainForm : Form {
         public MainForm() {
             InitializeComponent();
         }

         private void button_file_Click(object sender, EventArgs e) {
             OpenFileDialog fileDialog = new OpenFileDialog();
             fileDialog.Title = "請選擇文件";
             fileDialog.RestoreDirectory = true;

             if (fileDialog.ShowDialog() == DialogResult.OK) {
                 textBox_file.Text = fileDialog.FileName;
                 textBox_result.Text = "";
                 FileInfo file = new FileInfo(fileDialog.FileName);
                 fileSzie = file.Length;
                 showFilesize(fileSzie);
             }

         }

         private void button_exit_Click(object sender, EventArgs e) {
             this.Close();
             this.Dispose();
         }

         private void button_check_Click(object sender, EventArgs e) {
             checkResult();
         }

         MD5 md5 = (MD5)CryptoConfig.CreateFromName("MD5");
         long fileSzie = 0;

         private void button_calc_Click(object sender, EventArgs e) {
             string file = textBox_file.Text;

             if (file.Length == 0) {
                 textBox_result.Text = "請先重新選擇文件!";
                 return;
             }

             FileStream fs = null;
             try {
                 fs = new FileStream(file, FileMode.Open, FileAccess.Read);
             } catch (SystemException) {
                 textBox_result.Text = "文件打開錯誤,請重新選擇文件!";
                 return;
             }

             //對于大于 100M 的文件啟用多線程
             if (fs.Length > 100L * 1024 * 1024) {

                 string message = "文件已經超過 100M ,需要較長的計算時間。\n軟件將啟動后臺線程進行處理。是否繼續?";
                 string caption = "文件較大";
                 MessageBoxButtons buttons = MessageBoxButtons.YesNo;

                 if (MessageBox.Show(message, caption, buttons) == System.Windows.Forms.DialogResult.No) {
                     fs.Close();
                     textBox_result.Text = "文件較大,未計算。";
                     return;
                 }
                 textBox_result.Text = "正在計算中,請稍候......";
                 button_calc.Enabled = false;
                 button_file.Enabled = false;

                 Thread thread = new Thread(new ParameterizedThreadStart(calcMD5));
                 thread.Start(fs);

             } else {
                 calcMD5(fs);
             }
         }

         //建立一個 object 參數的函數,是為了處理線程調用中,使用參數的問題。
         private void calcMD5(object fs) {
             calcMD5((FileStream)fs);
         }

         // Invoke 函數需要使用的委托
         delegate void updateWindows(byte[] result);

         private void calcMD5(FileStream fs) {
             byte[] md5byte = md5.ComputeHash(fs);

             if (this.InvokeRequired) {
                 this.Invoke(new updateWindows(showResult), md5byte);
             } else {
                 showResult(md5byte);
             }
             fs.Close();
         }

         private void showResult(byte[] md5byte) {
             int i, j;
             StringBuilder sb = new StringBuilder(32);
             foreach (byte b in md5byte) {
                 i = Convert.ToInt32(b);
                 j = i >> 4;
                 sb.Append(Convert.ToString(j, 16));
                 j = ((i 4) 0x00ff) >> 4;
                 sb.Append(Convert.ToString(j, 16));
             }

             String result = sb.ToString().ToUpper();

             textBox_result.Text = result;
             button_calc.Enabled = true;
             button_file.Enabled = true;
             checkResult();

         }

         private void checkResult() {

             string result = textBox_result.Text;

             if (textBox_md5.Text.Length == 0) {
                 textBox_compare.Text = "";
                 textBox_compare.Visible = false;
                 return;
             }

             if(result.Length != 32 ) {
                 textBox_compare.Visible = true;
                 textBox_compare.BackColor = Color.Pink;
                 textBox_compare.Text = "計算結果框中不是MD5碼,請先進行計算!";
                 return;
             }

             if (textBox_md5.Text.Trim().ToUpper().Equals(result.ToUpper())) {
                 textBox_compare.Visible = true;
                 textBox_compare.BackColor = Color.LightGreen;
                 textBox_compare.Text = "MD5碼 已匹配,文件未被修改,可放心使用!";
             } else {
                 textBox_compare.Visible = true;
                 textBox_compare.BackColor = Color.Red;
                 textBox_compare.Text = "MD5碼 不匹配,文件已被修改,請小心!";
             }
         }

         private void showFilesize(long size) {

             float d_size;
             string unit = "Byte";

             if (size > 1024 * 1024 * 1024) {    //大于 1G 的顯示
                 d_size = size / (float)(1024 * 1024 * 1024);
                 unit = "GB";
             } else {
                 if (size > 1024 * 1024) {    //大于 1M 的顯示
                     d_size = size / (float)(1024 * 1024);
                     unit = "MB";
                 } else {
                     if (size > 1024) {    //大于 1K 的顯示
                         d_size = size / (float)(1024);
                         unit = "KB";
                     } else {
                         d_size = size;
                     }
                 }
             }
             textBox_filesize.Text = string.Format(" {0:F} {1} ( {2:N0}字節 )", d_size, unit, size);
         }
     }
 }

完整的 VS2010 項目下載:http://xiazai.jb51.net/201302/yuanma/FileMD5_jb51.net.rar

標簽:嘉興 南京 淄博 海南 揚州 南京 南昌 臺州

巨人網絡通訊聲明:本文標題《一個簡單的文件MD5碼自動計算比較器(附源碼)》,本文關鍵詞  一個,簡單,的,文件,MD5,碼,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《一個簡單的文件MD5碼自動計算比較器(附源碼)》相關的同類信息!
  • 本頁收集關于一個簡單的文件MD5碼自動計算比較器(附源碼)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲va国产天堂va久久en| 麻豆成人综合网| 日韩高清不卡一区二区三区| 精品在线一区二区| 欧美在线观看一二区| 久久精品一区八戒影视| 偷拍与自拍一区| 91美女在线看| 国产日韩欧美麻豆| 免费成人在线网站| 日本精品一级二级| 国产精品素人视频| 久久精品国产99| 欧美精品在线视频| 一区二区三区中文字幕精品精品| 国产精品一区二区无线| 91精品国产综合久久小美女| 一区二区三区毛片| 91欧美一区二区| 中文字幕在线不卡| 成人亚洲精品久久久久软件| 久久色.com| 精品伊人久久久久7777人| 日韩一级片在线播放| 五月天欧美精品| 精品1区2区3区| 亚洲国产视频一区二区| 色婷婷久久综合| 亚洲欧美国产77777| 福利一区二区在线| 国产精品丝袜黑色高跟| 岛国精品在线播放| 国产精品久久久久久久久久久免费看 | 亚洲欧洲在线观看av| 成人午夜免费av| 国产精品污www在线观看| 成人午夜伦理影院| 国产精品国产精品国产专区不蜜| 懂色av中文字幕一区二区三区 | 欧美一区在线视频| 偷拍日韩校园综合在线| 欧美一级一级性生活免费录像| 免费在线视频一区| 久久蜜桃一区二区| 成人激情视频网站| 亚洲精品国产a久久久久久 | 欧美美女黄视频| 青青青伊人色综合久久| 亚洲精品在线免费观看视频| 国产综合成人久久大片91| 日本一区二区成人在线| 色伊人久久综合中文字幕| 亚洲国产精品一区二区久久 | 91麻豆精品久久久久蜜臀| www成人在线观看| 久久成人羞羞网站| 91精品国产91久久久久久一区二区| 成人免费在线播放视频| 国产99久久久国产精品潘金| 国产午夜精品福利| 白白色亚洲国产精品| 中文字幕中文字幕一区| 99精品视频一区二区三区| www国产成人免费观看视频 深夜成人网| 青青草成人在线观看| 欧美v国产在线一区二区三区| 免费成人结看片| 久久网这里都是精品| 不卡在线视频中文字幕| 亚洲精品一卡二卡| 欧美精品 日韩| 美女性感视频久久| 国产精品乱人伦| 91成人在线观看喷潮| 三级精品在线观看| 欧美老肥妇做.爰bbww视频| 久久激五月天综合精品| 久久久精品人体av艺术| 99国产精品国产精品久久| 亚洲一区二区在线观看视频 | 国产亚洲综合av| 精品一二三四在线| 日本一区二区三区在线不卡| av在线不卡免费看| 天天射综合影视| 国产亚洲成aⅴ人片在线观看 | 成人性色生活片免费看爆迷你毛片| 亚洲欧美综合另类在线卡通| 欧美亚洲自拍偷拍| 蜜桃久久久久久久| 亚洲男人天堂av| 欧美xxxx在线观看| 欧美写真视频网站| 成人h版在线观看| 婷婷国产v国产偷v亚洲高清| 久久亚洲精精品中文字幕早川悠里| 色婷婷久久久久swag精品| 丝袜a∨在线一区二区三区不卡| 久久久综合视频| 欧美日韩成人综合天天影院| 国产精品一区专区| 日韩不卡免费视频| 亚洲综合999| 国产精品黄色在线观看| 欧美一区二区三区免费在线看| 北条麻妃一区二区三区| 轻轻草成人在线| 亚洲午夜激情av| 久久久久国产精品人| 欧美mv日韩mv亚洲| 欧美日韩精品专区| 白白色亚洲国产精品| 国产精品一区二区三区网站| 免费人成在线不卡| 亚洲成在人线在线播放| 亚洲欧美另类在线| 国产精品三级视频| 中文字幕一区二区三区蜜月| 国产婷婷色一区二区三区| 日韩一区二区三区三四区视频在线观看 | 欧美日韩一区三区| 色婷婷综合久色| 成人夜色视频网站在线观看| 国产精品18久久久久久久网站| 日本美女一区二区三区| 一区二区三区四区不卡视频| 国产精品欧美一级免费| 亚洲天堂网中文字| 亚洲欧美日韩在线不卡| 亚洲色图视频网| 亚洲三级电影网站| 亚洲欧美日韩国产中文在线| 亚洲美女视频在线| 亚洲欧美一区二区三区孕妇| 午夜私人影院久久久久| 婷婷六月综合亚洲| 免费精品视频在线| 麻豆91精品视频| 国产在线播放一区三区四| 国产一区二区三区在线观看精品 | 国产乱一区二区| 韩国欧美国产1区| 成人国产在线观看| 91丨九色丨黑人外教| 91伊人久久大香线蕉| 精品视频全国免费看| 欧美一区二区三区免费视频| 久久精品亚洲国产奇米99| 日本一区二区三区国色天香| 国产精品蜜臀在线观看| 亚洲天堂中文字幕| 日本中文字幕不卡| 国产米奇在线777精品观看| 国产69精品久久777的优势| 国产精品99久久久久久久vr| 成人黄色av网站在线| 欧美亚洲愉拍一区二区| 日韩精品一区二区三区swag| 精品va天堂亚洲国产| 国产精品日韩成人| 亚洲va天堂va国产va久| 日本一不卡视频| 在线精品视频一区二区三四| 日韩欧美一级精品久久| 一区在线中文字幕| 水野朝阳av一区二区三区| 国产综合久久久久影院| 欧美综合天天夜夜久久| 日韩欧美电影一二三| 国产欧美精品一区aⅴ影院 | 国产欧美日韩精品a在线观看| 亚洲国产精品人人做人人爽| 精品综合免费视频观看| 91欧美一区二区| 欧美v国产在线一区二区三区| **性色生活片久久毛片| 另类中文字幕网| 在线免费观看日韩欧美| 久久亚洲一区二区三区四区| 亚洲视频一区在线观看| 精品一区二区免费视频| 欧美大片一区二区三区| 一区二区成人在线| 成人网在线播放| 日韩女优制服丝袜电影| 亚洲人成精品久久久久| 男女激情视频一区| 欧美一区二区精品| 午夜精品一区二区三区免费视频| 国产精品一线二线三线| 欧美一区二区三区视频在线观看| 中文字幕亚洲成人| 国产裸体歌舞团一区二区| 久久亚洲一区二区三区明星换脸| 亚洲成人动漫精品| 91成人免费网站| 亚洲素人一区二区| 成人aaaa免费全部观看| 日韩美女一区二区三区四区| 韩国欧美国产一区|