日期:2014-05-18  浏览次数:20948 次

怎样实现效验自身的md5?
获取到自身的md5,并和数据库里的md5进行比较。

------解决方案--------------------
C# code

//获取MD5并做了处理的
pwd = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(PWD, "MD5");
pwd = pwd.Substring(0, pwd.Length / 2).ToUpper();//之前有这样存入数据库的
//从数据库拿并比较
if (dr[ConstUserFiled.USERPWD].Equals(pwd))
{
  //相等就做处理事件
}

------解决方案--------------------
提供一个参考资料给你:
http://blog.csdn.net/lfywy/archive/2008/05/26/2481308.aspx
望对你有帮助!
------解决方案--------------------
Application.ExecutablePath属性即当前程序的路径
MD5.ComputeHash()方法可以计算流的MD5
参考如下代码:
C# code
//using System.Security.Cryptography;//MD5
//using System.IO;//FileStream

MD5 vMD5 = MD5.Create();
FileStream vFileStream = new FileStream(Application.ExecutablePath,
    FileMode.Open, FileAccess.Read);
Text = BitConverter.ToString(vMD5.ComputeHash(vFileStream));
vFileStream.Close();

------解决方案--------------------
直接计算正在执行的exe文件的MD5码是不可行的,有一个迂回的办法:
把正在执行的exe文件读到文件流中,计算个这流的MD5码。

FileInfo fInf = new FileInfo("你的.exe");
Stream fStm = fInf.OpenRead();
MD5 mdv = new MD5CryptoServiceProvider();
byte[] b = mdv.ComputeHash(fStm);
string st = "";
for (int i = 0; i < b.Length; i++)
st += b[i].ToString();