c# md5加密算法实例
2017-11-01 09:23
281 查看
1、获取MD5加密字符串
2、MD5 32位加密
4000
/// <summary> /// 获得MD5加密字符串 /// </summary> /// <param name="s">源字符串</param> /// <returns>目标字符串</returns> public static String MD5(String s) { char[] hexDigits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; try { byte[] btInput = System.Text.Encoding.UTF8.GetBytes(s); // 获得MD5摘要算法的 MessageDigest 对象 MD5 mdInst = System.Security.Cryptography.MD5.Create(); // 使用指定的字节更新摘要 mdInst.ComputeHash(btInput); // 获得密文 byte[] md = mdInst.Hash; // 把密文转换成十六进制的字符串形式 int j = md.Length; char[] str = new char[j * 2]; int k = 0; for (int i = 0; i < j; i++) { byte byte0 = md[i]; str[k++] = hexDigits[(int)(((byte)byte0) >> 4) & 0xf]; str[k++] = hexDigits[byte0 & 0xf]; } return new string(str); } catch { // Console.Error.WriteLine(e.StackTrace); return null; } }
2、MD5 32位加密
/// <summary> /// MD5 32位加密 /// </summary> /// <param name="str"></param> /// <returns></returns> public static String md532(String s) { MD5 md5 = new MD5CryptoServiceProvider(); byte[] bytes = System.Text.Encoding.UTF8.GetBytes(s); bytes = md5.ComputeHash(bytes); md5.Clear(); string ret = ""; for (int i = 0; i < bytes.Length; i++) { ret += Convert.ToString(bytes[i], 16).PadLeft(2, '0'); } return ret.PadLeft(32, '0'); }
/// <summary> /// ASP MD5加密算法 /// </summary> /// <param name="md5str">要加密的字符串</param> /// <param name="type">16还是32位加密</param> /// <returns>Asp md5加密结果</returns> public static string GetMd5(string md5str, int type) { if (type == 16) { MD5 algorithm = MD5.Create(); byte[] data = algorithm.ComputeHash(Encoding.UTF8.GetBytes(md5str)); string sh1 = ""; for (int i = 0; i < data.Length; i++) { sh1 += data[i].ToString("x2").ToUpperInvariant(); } return sh1.Substring(8, 16).ToLower(); } else if (type == 32) { MD5 algorithm = MD5.Create(); byte[] data = algorithm.ComputeHash(Encoding.UTF8.GetBytes(md5str)); string sh1 = ""; for (int i = 0; i < data.Length; i++) { sh1 += data[i].ToString("x2").ToUpperInvariant(); } return sh1.ToLower(); } return ""; }
4000
相关文章推荐
- c# MD5加密算法的实例
- c# MD5加密算法的实例
- c# MD5加密算法的一个实例(转载)
- c# MD5加密算法的实例
- c# MD5加密算法的一个实例
- C#MD5加密算法的实例
- c# MD5加密算法的一个实例(转载)
- C#软件开发实例.私人订制自己的屏幕截图工具(七)添加放大镜的功能
- C#中datagridview的EditingControlShowing事件用法实例
- asp.net使用飞信fetionAPI接口免费发送短信的c#的实例
- C#.NET禁止一个程序启动多个实例
- C#.NET禁止一个程序启动多个实例
- Asp.net,C# —两种对称加密类实例学习
- C#动态程序集的加载、创建实例、序列化与反序列化
- C#中Dictionary的用法及用途实例
- Asp.net下C#自动化调用Word的实例与总结
- C# 使用GetOleDbSchemaTable 检索架构信息实例
- C#实现单个实例的启动
- C#实现向多线程传参的三种方式实例分析