using资源管理、横线替换、大小写转换,用方法MD5HashExeute统一管理,需要改动只改这一个地方,无需两个方法都改
public class MD5Helper
{
public static string PasswordSalt
{
get { return "landic"; }
}
public static string MD5Hash(string input)
{
var result = MD5HashExeute((md5) => md5.ComputeHash(Encoding.ASCII.GetBytes(input)));
return result;
}
public static string MD5Hash(Stream inputStream)
{
var result = MD5HashExeute((md5) => md5.ComputeHash(inputStream));
return result;
}
private static string MD5HashExeute(Func<MD5, byte[]> func)
{
using (var md5 = MD5.Create())
{
var value = func(md5);
var result = BitConverter.ToString(value);
return result.Replace("-", "").ToLower();
}
}
public static string GetPassword(string password)
{
var res = MD5Hash(password + PasswordSalt);
return res;
}
}