zoukankan      html  css  js  c++  java
  • c#大圣之路笔记——MD5实现字符串、文件加密

     1   /// <summary>
     2         /// 传一个文件的路径,返回该文件的MD5字符串
     3         /// </summary>
     4         /// <param name="path"></param>
     5         /// <returns></returns>
     6         private static string GetMd5FromFile(string path)
     7         {
     8             using (MD5 md5File= MD5.Create())
     9             {
    10                 using (FileStream fileRead = File.OpenRead(path))
    11                 {
    12                     byte[] md5Buffer= md5File.ComputeHash(fileRead);
    13                     md5File.Clear();
    14                     StringBuilder sbMd5 = new StringBuilder();
    15                     for (int i = 0; i < md5Buffer.Length; i++)
    16                     {
    17                         sbMd5.Append(md5Buffer[i].ToString("X2"));
    18                     }
    19                     return sbMd5.ToString();
    20                 } 
    21             }  
    22 
    23         }
    24 
    25 
    26 
    27 
    28         /// <summary>
    29         /// 传一个字符串,方法改字符串的MD5字符串
    30         /// </summary>
    31         /// <param name="msg"></param>
    32         /// <returns></returns>
    33         private static string GetMd5FromString(string msg)
    34         {
    35             //1.创建一个用来计算MD5值的类的对象
    36             using ( MD5 md5 = MD5.Create())
    37             {
    38                 //把字符串转换成byte[]
    39                 byte[] msgBuffer = Encoding.UTF8.GetBytes(msg);
    40                 //2.计算给定字符串的MD5值,如何把一个长度为16的byte[]数组转换为一个长度为32的字符串:就是把每个byte转成16进制同时保留2位即可
    41                 byte[] md5Buffer=  md5.ComputeHash(msgBuffer);
    42                 md5.Clear();
    43                 StringBuilder sbMd5 = new StringBuilder();
    44                 for (int i = 0; i < md5Buffer.Length; i++)
    45                 {
    46                     //字母小写:x ;字母大写:X
    47                     sbMd5.Append(md5Buffer[i].ToString("X2"));
    48                 }
    49 
    50                 return sbMd5.ToString();
    51             }
    52            
    53 
    54         }
  • 相关阅读:
    Python之从头开始建立项目流程
    Python之建立APP流程以及SVN 的使用
    python之继承
    Python之实例对象的增删改查
    Python之类属性的增删改查
    read big file
    python minus 3 days or n days
    movie
    pyqt convert ui file to py file
    pyqt4 borderless window
  • 原文地址:https://www.cnblogs.com/allenzhang/p/5993501.html
Copyright © 2011-2022 走看看