先简单介绍一下MD5
MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest开发出来, 经md2、md3和md4发展而来。
MD5具有很好的安全性(因为它具有不可逆的特征,加过密的密文经过解密后和加密前的东东相同的可能性极小)
引用
using System.Security.Cryptography;
using System.Text;
具体代码如下(写在按钮的Click事件里):
byte[] result = Encoding.Default.GetBytes(this.tbPass.Text.Trim()); //tbPass为输入密码的文本框
MD5 md5 = new MD5CryptoServiceProvider();
byte[] output = md5.ComputeHash(result);
this.tbMd5pass.Text = BitConverter.ToString(output).Replace("-",""); //tbMd5pass为输出加密文本的文本框
下面是做好的程序界面:
![C winform 实现MD5加密功能 - 上古神话 - 我的博客](http://img611.ph.126.net/yrjGz0GDU5p-OiUG97POQg==/1670553986779672773.bmp)
用户登录验证吧,你可以在用户注册时把用户的密码经过加密后存入数据库,然后在登录时再对用户输入的密码和数据库中的做下比较,如果相同的话就登录成功....实际上现在很多加密就是这种原理. 而不是大多数认为的把加过密的密文进行解密后和用户输入的密码作比较.
1.this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;
2.Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;
3.Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;
4.System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。