MD5加密是通常使用的加密方式,MD5加密其实很简单,传过去参数,然后就返回了一串加密过后的md5字符串.
刚开始的时候通常简单加密方式就是传入密码->通过MD5加密->返回字符串->存入数据库.就完成了;
这样的加密或许过于简单,我见过的加密有传入用户名和密码->通过md5加密->截取用户名密码加密过后的部分字符串在组成新的字符串,然后返回新的字符串才进行保存的.
看代码:
///<summary>MD5加密字符串
///
/// </summary>
/// <param name="str">原字符串</param>
/// <returns></returns>
public static string Md5(string str)
{
return FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5");;
}
///<summary>MD5偏移加密字符串
///
/// </summary>
/// <param name="str">原字符串</param>
///
/// <returns></returns>
public static string Md5(string password, string username)
{
string md51 = Md5(FormsAuthentication.HashPasswordForStoringInConfigFile(password, "MD5"));
string md52 = FormsAuthentication.HashPasswordForStoringInConfigFile(username, "MD5");
string test = md51.Substring(0, 16);
return md51.Substring(0, 16) + md52.Substring(0, 8) + md51.Substring(16, 16) + md52.Substring(24, 8);
}
这样的加密方式增加了密码猜测解密的难度,这个加密后的字符串我查了好久也没有对应的字符,通常如果简单的密码通过md5直接加密的方法存入数据库,通过数据库字符去查询都能猜测到密码,可是这个用了六个1的密码通过数据库字符串我查了好久都没有查到,可见保密性提高了不少.通过这样的思想,可以引申出好多方式,学习了...