婷婷综合国产,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
    色域天天综合网| 色综合一个色综合亚洲| 日韩免费在线观看| 欧美日韩成人综合| 欧美三级欧美一级| 99久久99久久久精品齐齐| 国产成人av一区| 日av在线不卡| 亚洲第一精品在线| 一区二区三区日韩欧美| 欧美极品少妇xxxxⅹ高跟鞋| 26uuu色噜噜精品一区二区| 久久综合色之久久综合| 欧美在线|欧美| 91女厕偷拍女厕偷拍高清| 成人免费观看视频| 99久久精品免费观看| 97se亚洲国产综合自在线观| 91在线视频18| 欧美影片第一页| 欧美酷刑日本凌虐凌虐| 国产夫妻精品视频| 国产成人午夜99999| 亚洲国产精品久久久久秋霞影院| 天天综合色天天综合| 日本不卡1234视频| 日韩成人一区二区三区在线观看| 日本欧美一区二区三区乱码| 日韩二区三区在线观看| 99久久久国产精品| 欧美日本一区二区在线观看| 色天天综合色天天久久| 欧美日韩国产成人在线免费| 欧美美女喷水视频| 一本久道久久综合中文字幕 | 亚洲欧美日韩人成在线播放| 蜜桃久久精品一区二区| 黄色精品一二区| 免费高清在线一区| 亚洲成人777| 五月激情综合婷婷| 天天综合网天天综合色| 99久久精品免费看| 日韩三级免费观看| 精品国产乱子伦一区| 亚洲欧美乱综合| 国产在线视频一区二区| 在线观看区一区二| 久久久精品影视| 午夜欧美2019年伦理| 一区二区三区在线观看欧美| 婷婷国产v国产偷v亚洲高清| 国产成人福利片| 欧美日韩不卡在线| 欧美肥胖老妇做爰| 国产精品久久久久久久第一福利| 日韩精品每日更新| 综合网在线视频| 久久99国产精品尤物| 久久电影网站中文字幕| 51久久夜色精品国产麻豆| 久久久久久黄色| 欧美高清在线一区| 亚洲欧洲制服丝袜| 亚洲国产成人va在线观看天堂 | 蜜臀久久99精品久久久画质超高清| 成人精品一区二区三区四区| 免费成人小视频| 色噜噜狠狠成人中文综合| 精品国产伦理网| 亚洲成人av一区二区三区| 亚洲电影一级黄| 国产suv精品一区二区883| 一区二区在线免费观看| 美国十次了思思久久精品导航| 色婷婷久久久久swag精品 | 日本韩国欧美一区| 日韩精品一区二区三区四区| 久久久久久久久久久久电影| 热久久一区二区| 国产一区 二区 三区一级| 久久看人人爽人人| 日本免费新一区视频| 欧美日韩色综合| 亚洲精品免费在线播放| 成人爱爱电影网址| 色偷偷88欧美精品久久久| 国产精品青草久久| 国产精品18久久久久久vr| 精品嫩草影院久久| 久久国产精品区| 在线一区二区三区做爰视频网站| 欧美天堂一区二区三区| 亚洲免费观看高清完整| 91麻豆国产自产在线观看| 国产精品午夜在线观看| 另类小说欧美激情| 色综合久久88色综合天天| 亚洲黄色免费电影| 国产69精品久久久久毛片| 中文字幕一区在线观看视频| 久久精品国产精品青草| 欧美日韩中文另类| 婷婷国产v国产偷v亚洲高清| 一本色道a无线码一区v| 午夜精品免费在线| 乱一区二区av| 精品黑人一区二区三区久久 | 精品国产一区二区精华| 精品精品国产高清a毛片牛牛 | 麻豆国产欧美日韩综合精品二区| 色一情一伦一子一伦一区| 国产婷婷色一区二区三区| 国产成人综合视频| 欧美一区二区三区四区五区| 亚洲欧美日韩成人高清在线一区| 欧美美女bb生活片| 久久精品国产99国产精品| 欧美变态凌虐bdsm| 亚洲电影在线播放| 成人动漫一区二区三区| 日本一区二区三区高清不卡| 国产激情一区二区三区| 国产精品久久看| 91一区二区在线观看| 国产精品美女久久久久久久| 色综合中文字幕| 久久精品国产**网站演员| 久久久久久综合| 国产精品免费视频网站| 在线中文字幕不卡| 亚洲欧美综合在线精品| 风间由美性色一区二区三区| 精品成人一区二区三区四区| 日韩—二三区免费观看av| 久久综合色综合88| 成人激情校园春色| 日本亚洲电影天堂| 91国产视频在线观看| 日本va欧美va精品发布| 日韩三级电影网址| 91高清视频在线| 亚洲黄色小说网站| 精品国产乱码久久久久久闺蜜| 国产视频一区二区在线| 国产成人自拍网| 国产精品剧情在线亚洲| 欧美另类久久久品| 中文字幕在线一区免费| 精品美女在线播放| 久久69国产一区二区蜜臀| 欧美另类一区二区三区| 国产69精品一区二区亚洲孕妇| 性久久久久久久久久久久| 欧美zozozo| 福利一区福利二区| 美女网站色91| 国产亲近乱来精品视频| 久久久99精品免费观看不卡| 亚洲v精品v日韩v欧美v专区| www.一区二区| 日韩精品一级中文字幕精品视频免费观看 | 91视频观看免费| 国产亚洲欧美中文| 国产高清不卡二三区| 欧美xxxx老人做受| 国产精品资源在线| 日韩精品一区在线观看| 狠狠色综合日日| 欧美电视剧免费观看| 亚洲一线二线三线久久久| 91丨九色丨蝌蚪丨老版| 国产精品午夜在线观看| 6080yy午夜一二三区久久| 成人久久视频在线观看| 国产久卡久卡久卡久卡视频精品| 爽爽淫人综合网网站| 中文字幕一区二区三区视频 | 欧美日韩成人激情| 欧美在线小视频| 91福利区一区二区三区| 色哟哟一区二区| 色婷婷激情综合| 国产精品一区久久久久| 亚洲h精品动漫在线观看| 久久精品无码一区二区三区| 欧美男人的天堂一二区| 成人一区二区视频| 老鸭窝一区二区久久精品| 国产精品免费看片| 国产精品超碰97尤物18| 日韩精品一区在线观看| 欧美成人乱码一区二区三区| 色哟哟亚洲精品| 精品视频一区三区九区| 欧美三级三级三级| 欧美日韩一区高清| 精品视频123区在线观看| 欧美卡1卡2卡| 欧美成人精品1314www|