1   #region MD5
2 /// <summary>
3 /// 16位MD5加密
4 /// </summary>
5 /// <param name="password"></param>
6 /// <returns></returns>
7 public static string MD5Encrypt16(string strByMd5)
8 {
9 var md5 = new MD5CryptoServiceProvider();
10 string t2 = BitConverter.ToString(md5.ComputeHash(Encoding.Default.GetBytes(strByMd5)), 4, 8);
11 t2 = t2.Replace("-", "");
12 return t2;
13 }
14
15 /// <summary>
16 /// 32位MD5加密
17 /// </summary>
18 /// <param name="password"></param>
19 /// <returns></returns>
20 public static string MD5Encrypt32(string strByMd5)
21 {
22 string cl = strByMd5;
23 string pwd = "";
24 MD5 md5 = MD5.Create(); //实例化一个md5对像
25 // 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择 
26 byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
27 // 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
28 for (int i = 0; i < s.Length; i++)
29 {
30 // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符
31 pwd = pwd + s[i].ToString("X");
32 }
33 return pwd;
34 }
35
36 public static string MD5Encrypt64(string strByMd5)
37 {
38 string cl = strByMd5;
39 //string pwd = "";
40 MD5 md5 = MD5.Create(); //实例化一个md5对像
41 // 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择 
42 byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
43 return Convert.ToBase64String(s);
44 }
45 #endregion
46
47 #region 对文件进行MD5处理
48 /// <summary>
49 /// 对文件流进行MD5加密
50 /// </summary>
51 public static string MD5Stream(Stream stream)
52 {
53 MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
54 md5.ComputeHash(stream);
55 byte[] b = md5.Hash;
56 md5.Clear();
57 StringBuilder sb = new StringBuilder(32);
58 for (int i = 0; i < b.Length; i++)
59 {
60 sb.Append(b[i].ToString("X2"));
61 }
62 return sb.ToString();
63 }
64
65 /// <summary>
66 /// 对文件进行MD5加密
67 /// </summary>
68 public static string MD5Stream(string filePath)
69 {
70 using (FileStream stream = File.Open(filePath, FileMode.Open))
71 {
72 return MD5Stream(stream);
73 }
74 }
75
76 #endregion
77
78 /// <summary>
79 /// 获取MD5值(对字节数组进行MD5)
80 /// </summary>
81 /// <param name="fileBytes"></param>
82 /// <returns></returns>
83 public static string GetMd5(byte[] fileBytes)
84 {
85 var MD5 = System.Security.Cryptography.MD5.Create().ComputeHash(fileBytes);
86 //将md5byte[]数组转换为字符串
87 var str_md5 = Convert.ToBase64String(MD5);
88 return str_md5;
89 }

最新文章

  1. SOA相关资料整理分享
  2. java 22 - 18 多线程之 线程的状态转换、线程组
  3. Linux常用的日志分析命令与工具
  4. Fragments之间的交互(实现参数传递)
  5. 118. 119. Pascal&#39;s Triangle -- 杨辉三角形
  6. spilt用法简介
  7. Android 使用新浪微博SSO授权
  8. Luogu1486郁闷的出纳员【Splay】
  9. linux(fedora) 第二课
  10. 【python】控制台输出颜色
  11. Python【每日一问】01
  12. Wamp修改端口
  13. Python.SQLAlchemy.0
  14. 本地chrome调试服务器node
  15. 2017-2018 第一学期201623班《程序设计与数据结构》-第9&amp;10周作业问题总结
  16. ActionContext和ServletActionContext小结(转)
  17. DICOMDIR
  18. Linux文件查找命令find和xargs详解
  19. 【设计模式】template method(模板方法)-- 类行为型模式5.10
  20. 【廖雪峰老师python教程】——filter/sorted

热门文章

  1. py常用模块
  2. 接口测试工具POSTMAN的使用
  3. 【git】7.5 git工具-搜索
  4. Nginx负载均衡4种方案
  5. .Net Core WebApi + Vue前后端分离项目中的jwt令牌应用
  6. CGAL求最小外包矩形
  7. javax.naming.NameNotFoundException: Name [aa.bb.cc/xx] is not bound in this Context. Unable to find [aa.bb.cc]
  8. react backend and frontend download file
  9. nuxt项目中使用store
  10. UnityAndroid 获取根目录文件