码迷,mamicode.com
首页 > 其他好文 > 详细

MD5计算器

时间:2018-02-03 12:32:09      阅读:438      评论:0      收藏:0      [点我收藏+]

标签:graph   ring   opened   字符串   tns   byte   color   object   drop   

技术分享图片

技术分享图片
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事件

 

MD5计算器

标签:graph   ring   opened   字符串   tns   byte   color   object   drop   

原文地址:https://www.cnblogs.com/zhyue93/p/MD51.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!