在做一个用户管理系统,用sqlite数据库,加密数据库的教程蛮多,但加密数据库内容的找了半天,在这边记录一下。
/// <summary>
/// MD5加密为32字符长度的16进制字符串
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static string EncryptByMD5(string input)
{
MD5 md5Hasher = MD5.Create();
byte[] data = md5Hasher.ComputeHash(Encoding.UTF8.GetBytes(input));
StringBuilder sBuilder = new StringBuilder();
//将每个字节转为16进制
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
return sBuilder.ToString();
}
有时候,没有接触过的东西,感觉很难,但其实或许只需要知道它的名字MD5就能做出来了。
账号密码加密,这样就算有人打开了你的数据库,也看不到你的账号信息。
因为不会反向解密,所以在用户登录验证时,以同样的方法对输入的字符串加密处理,再进行比较验证。
转载地址