MD5加密算法是不可逆的,也就是说不能把MD5加密后的字符串解密出来
但是我们在程序中仍然是可以使用MD5加密算法的,比如登陆
在添加帐户的时候把密码进行MD5加密:
string pwd = "xm520120";
string newpwd = FormsAuthentication.HashPasswordForStoringInConfigFile(pwd, "MD5");
newpwd及是加密后的文件保存在数据库即可~~~
当我们验证的时候再加密一次,判断加密后的文件是否相等,就可以判断出用户输入的密码是否正确了!
如用户输入密码为"520120"
string password="520120";
string newpassword= FormsAuthentication.HashPasswordForStoringInConfigFile(password, "MD5");
这里判断newpassword 是否等于 数据库取出的newpwd即可
需要注意的是,如果MD5加密的时候转换的是小写,那么在验证的时候也要转换成小写,保持统一。
FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower();
另外上述方式为32位的MD5加密方式,如果是16位的,则取32位加密结果的中间16位的值即可。