Example #1
0
        // Event handler for the hash type menu dropdown.
        private void Hash_Click(object sender, EventArgs e)
        {
            ToolStripMenuItem item = (ToolStripMenuItem)sender;

            uncheck_hashes();
            item.Checked           = true;
            currentHash            = Hashes.ParseType(item.Text);
            lvMain.Columns[1].Text = item.Text;
            VerifyList.Clear();
        }
Example #2
0
        private void VerifyFiles()
        {
            OpenFileDialog fd = new OpenFileDialog();

            fd.Filter          = "Text files|*.txt|MD5 Hashes|*.md5|All Files|*.*";
            fd.CheckFileExists = true;
            DialogResult res = fd.ShowDialog();

            if (res == DialogResult.Cancel || res == DialogResult.Abort)
            {
                return;
            }

            string dirname = Path.GetDirectoryName(fd.FileName);

            FolderBrowserDialog fbd = new FolderBrowserDialog();

            fbd.SelectedPath = dirname;
            res = fbd.ShowDialog();
            if (res == DialogResult.Cancel || res == DialogResult.Abort)
            {
                return;
            }

            StreamReader reader = new StreamReader(fd.FileName);

            string[] lines = Regex.Split(reader.ReadToEnd(), "\r\n");
            reader.Close();

            VerifyList.Clear();
            FileList.Clear();
            foreach (string line in lines)
            {
                if (line.Length > 0)
                {
                    FileInfo fi = FileInfo.ParseInfoLine(line);
                    fi.SetDirectory(dirname);
                    VerifyList.Add(fi);
                    FileList.Add(new FileInfo(fi.Name));
                }
            }

            currentHash            = VerifyList[0].HashType;
            lvMain.Columns[1].Text = Hashes.String(currentHash);

            UpdateListView();
            StartHashing();
        }
Example #3
0
        public MainForm()
        {
            InitializeComponent();

            // Setup the background worker.
            bw.WorkerReportsProgress      = true;
            bw.WorkerSupportsCancellation = false;
            bw.DoWork             += Bw_DoWork;
            bw.ProgressChanged    += Bw_ProgressChanged;
            bw.RunWorkerCompleted += Bw_RunWorkerCompleted;

            // Build the table with headers
            ColumnHeader h1 = new ColumnHeader();

            h1.Text = "Filename";

            ColumnHeader h2 = new ColumnHeader();

            h2.Text = "Hash";

            ColumnHeader h3 = new ColumnHeader();

            h3.Text = "Expected";

            lvMain.Columns.AddRange(new ColumnHeader[] { h1, h2, h3 });
            lvMain.SmallImageList = imgList;

            foreach (ColumnHeader header in lvMain.Columns)
            {
                if (header.Width < 150)
                {
                    header.Width = 150;
                }
            }

            btnSave.Enabled = false;
            saveToolStripMenuItem.Enabled = false;

            // Build the hash menu
            ToolStripMenuItem h_crc32 = new ToolStripMenuItem();

            h_crc32.Text    = "CRC32";
            h_crc32.Checked = true;
            h_crc32.Click  += Hash_Click;

            ToolStripMenuItem h_md5 = new ToolStripMenuItem();

            h_md5.Text    = "MD5";
            h_md5.Checked = false;
            h_md5.Click  += Hash_Click;

            ToolStripMenuItem h_sha1 = new ToolStripMenuItem();

            h_sha1.Text    = "SHA1";
            h_sha1.Checked = false;
            h_sha1.Click  += Hash_Click;

            ToolStripMenuItem h_sha256 = new ToolStripMenuItem();

            h_sha256.Text    = "SHA256";
            h_sha256.Checked = false;
            h_sha256.Click  += Hash_Click;

            hashTypeToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { h_crc32, h_md5, h_sha1, h_sha256 });

            // default to CRC32.
            currentHash = Hashes.Type.CRC32;
        }