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().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 = ; 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 > && 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 = ; 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 > )
{
MessageBox.Show("MD5值相同");
}
else
{
MessageBox.Show("MD5值不相同");
}
}
按钮比较MD5事件
MD5计算器的更多相关文章
- [开源]入坑Qt,我的第一个小程序:MD5计算器
版权声明 --------- 本文仅在知乎与博客园发布.开发者为szx0427 MFC和Win32搞了好几年了,也算是懂了个皮毛,但是一直觉得用这两者开发软件都很麻烦,需要将大量的代码花费在UI等地方 ...
- MD5算法【计算文件和字符串的MD5值】
1. MD5算法是一种散列(hash)算法(摘要算法,指纹算法),不是一种加密算法(易错).任何长度的任意内容都可以用MD5计算出散列值.MD5的前身:MD2.MD3.MD4.介绍工具:CalcMD5 ...
- MD5加密和sha加密
sha加密原理Algorithm)又叫安全哈希加密技术,是当今世界最先近的加密算法.主要用于文件身份识别.数字签名和口令加密等. 对于明文信息A,通过SHA1算法,生成一条160位长的识别码B.且明文 ...
- 【Unity3D】使用MD5值,确保本地Sqlite数据库内容没有被篡改
Sqlite的应用场景 在判断是否使用存储格式为Sqlite模式的标准,我们的标准是内容只读.也就是说,除非发布者修改Sqlite内容,玩家只有读取的权限. 换个角度说,Sqlite里面的数据都是游戏 ...
- 基于Quick-cocos2d-x的资源更新方案 二
写在前面 又是12点半了,对于一个程序员来说,这是一个黄金时间,精力旺盛,我想,是最适合整理和分享一些思路的时候了. 自从上次写了 基于Quick-cocos2d-x的资源更新方案 同样可见quick ...
- ClickOnce部署(5):自定义安全权限
今天我们来探讨一下在ClickOnce部署中如何严格控制应用程序的权限. 演示应用 为了在下文中能更好地演示,我们先要做一个测试项目.也为了显得简单易懂,我使用最常用且最常见的WinForm项目,这是 ...
- 4、C#进阶:MD5加密、进程、线程、GDI+、XML、委托
MD5加密 将字符串进行加密,无法解密.网上的解密方式也都是在库里找,找不到也没有. 1 protected void Page_Load(object sender, EventArgs e) 2 ...
- MD5算法的原理与实现
***********************************************声明************************************************ 原创 ...
- Hash(MD5校验工具)
本站提供md5校验工具下载.Hash(md5校验工具)是一款小巧好用的哈希计算器,Hash支持文件拖放,速度很快,可以计算文件的MD5.SHA1.CRC32 的值.在论坛上.软件发布时经常用Hash ...
随机推荐
- C#-MVC基础-模型(Model)、视图(View)和控制器(Controller)
搜狗百科:http://baike.sogou.com/v25227.htm?fromTitle=MVC MVC全名是Model View Controller,是软件工程中的一种软件架构模式,把软件 ...
- 基础概念——何为GNU与GCC
GNU:GNU 是一个自由软件操作系统.全称是GNU‘s Not Unix. GNU 是一款类似Unix的操作系统,它所采用的的典型内核是Linux. 该组合叫作GNU/Linux操作系统: GNU网 ...
- IP地址转换为Int
1.转换类 import com.google.common.base.Strings; import java.security.InvalidParameterException; import ...
- 【Vue】环境搭建、项目创建及运行
一.软件下载 1. 进入官网https://nodejs.org/en/下周node.js,傻瓜式安装步骤(一直下一步就好) 2. 进入官网http://www.dcloud.io/下载并安装编辑器H ...
- Android字符串及字符串资源的格式化
为什么要写这一篇随笔呢?最近做项目的过程中,遇到很多页面在要显示文本时,有一部分是固定的文本,有一部分是动态获取的,并且格式各式各样.一开始采取比较笨的办法,把他拆分成一个个文本控件,然后对不同的控件 ...
- CKEditor图片上传实现详细步骤(使用Struts 2)
本人使用的CKEditor版本是3.6.3.CKEditor配置和部署我就不多说. CKEditor的编辑器工具栏中有一项“图片域”,该工具可以贴上图片地址来在文本编辑器中加入图片,但是没有图片上传. ...
- sysv-rc-conf介绍
sysv-rc-conf简介 sysv-rc-conf是一个强大的服务管理程序,Ubuntu运行级别Linux 系统任何时候都运行在一个指定的运行级上,不同的运行级的程序和服务都不同,所要完成的工作和 ...
- TortoiseGit学习系列之Windows上TortoiseGit的安装详解(图文)
不多说,直接上干货! TortoiseGit的安装准备 首先你得安装windows下的msysgit. 安装版本控制器客户端TortoiseGit [不习惯英文的朋友,也可以下个语言包]. 下载地址: ...
- SpringMVC 的工作机制
在一个工程中如果想要使用 SpringMVC的话,只需要两个步骤 在web.xml中配置一个DispatcherServlet.需要配置一个org.springframework.web.servle ...
- Java将Excel的列数以字母表示的字符串转换成数字表示
我们知道,在 Excel 中,行数用数字表示,而列数是用字母表示的(如下图所示),有时候需要把它转换成数字来使用,或者把数字转换成字母.(例如使用POI操作Excel) 下面是转换代码,用来进行字母和 ...