zoukankan      html  css  js  c++  java
  • MD5计算器

    private void radioBtnFlie_CheckedChanged(object sender, EventArgs e)
    {
        RadioButton rb = sender as RadioButton;
        if (rb != null)
        {
            if (rb.Checked)
                lblTip.Text = "文件:";
            else
                lblTip.Text = "字符串:";
        }
    }
    RadioButton切换
    private void txtStr_DragEnter(object sender, DragEventArgs e)
    {
        if (e.Data.GetDataPresent(DataFormats.FileDrop))
        {//拖进来的是文件
            e.Effect = DragDropEffects.Link;
            txtStr.Cursor = Cursors.Arrow;
        }
        else
        {
            e.Effect = DragDropEffects.None;
        }
    }
    private void txtStr_DragDrop(object sender, DragEventArgs e)
    {
        string value = (e.Data.GetData(DataFormats.FileDrop) as System.Array).GetValue(0).ToString();
        txtStr.Cursor = Cursors.IBeam;
        txtStr.Text = value;
        //文件转MD5
        StringBuilder sbResult = new StringBuilder();
        using (System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create())
        {
            byte[] byteArr = File.ReadAllBytes(value);
            byte[] bytes = md5.ComputeHash(byteArr);
            for (int i = 0; i < bytes.Length; i++)
            {
                sbResult.Append(bytes[i].ToString("x2"));
            }
        }
        txtMD5.Text = sbResult.ToString();
    }
    鼠标拖动文件到第一个大文本框触发事件-将文件转换为MD5
    private void txtStr_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyChar == 'x1')
        {//Ctrl+A-全选
            (sender as TextBox).SelectAll();
            e.Handled = true;
        }
    }
    第一个大文本框Ctrl+A全选
    private void txtStr_KeyUp(object sender, KeyEventArgs e)
    {
        string str = txtStr.Text;
        if (str.Length > 0 && radioBtnString.Checked)
        {
            //字符串转MD5
            byte[] bytes = Encoding.UTF8.GetBytes(str);
            using (System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create())
            {
                byte[] md5Bytes = md5.ComputeHash(bytes);
                StringBuilder sbResult = new StringBuilder();
                for (int i = 0; i < md5Bytes.Length; i++)
                {
                    //十六进制占两位
                    sbResult.Append(md5Bytes[i].ToString("x2"));
                }
                txtMD5.Text = sbResult.ToString();
            }
        }
    }
    第一个大文本框按键松开后的事件(Ctrl+V或输入字符串)
    private void btnCompare_Click(object sender, EventArgs e)
    {
        //比较MD5值
        string text1 = txtMD5.Text.Trim();
        string text2 = txtRefer.Text.Trim();
        if (text1 == text2 && text1.Length > 0)
        {
            MessageBox.Show("MD5值相同");
        }
        else
        {
            MessageBox.Show("MD5值不相同");
        }
    }
    按钮比较MD5事件
  • 相关阅读:
    看看自己敲了多少代码
    jquery中获取单选标签redio的val
    @functools.wrapes
    SQLAlachemy 自动提交配置 SQLALCHEMY_COMMIT_ON_TEARDOWN
    ajax 常用格式
    开发文档收藏
    falsk 请求钩子
    数组中出现次数超过数组长度一半的值 分类: C/C++ 2015-07-09 15:38 142人阅读 评论(0) 收藏
    二叉搜索树(C++) 分类: C/C++ 数据结构与算法 2015-07-09 11:18 205人阅读 评论(0) 收藏
    程序员必读的六本书 2015-07-08 11:26 21人阅读 评论(0) 收藏
  • 原文地址:https://www.cnblogs.com/zhyue93/p/MD51.html
Copyright © 2011-2022 走看看