zoukankan      html  css  js  c++  java
  • 一种计算MD5的实现方法

    1、在需要用到加密的地方可以使用.net中的md5相关的类生成md5给文件加密。

    2、基本思路:

    将文件也好,字符串也好,转成字节数组,再利用.net的md5相关类生成md5相关字符串,再将字符串转成16进制。

    3、具体的例子:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Runtime.InteropServices;
     6 using System.Security.Cryptography;
     7 using System.IO;
     8 using System.Diagnostics;
     9 
    10 namespace MD5
    11 {
    12     public class MD5Hash 
    13     {
    14         public MD5Hash()
    15         {
    16             this.md5 = MD5.Create();
    17         }
    18 
    19         public string CalculateFile(string filePath)
    20         {
    21             string reuslt = string.Empty;
    22 
    23             try
    24             {
    25              reuslt = Calculate(System.IO.File.ReadAllBytes(filePath));
    26             }
    27             catch (Exception e)
    28             {
    29                 reuslt = string.Empty;
    30             }
    31 
    32             return reuslt;
    33         }
    34         
    35         public string Calculate(byte[] buffer)
    36         {
    37             return Format(md5.ComputeHash(buffer));
    38         }
    39                 
    40         private string Format(byte[] source)
    41         {
    42             StringBuilder result = new StringBuilder(string.Empty);
    43 
    44             Array.ForEach(source, (value) => result.Append(value.ToString("X2")));
    45 
    46             return result.ToString();
    47         }
    48                 
    49         public string Calculate(string message)
    50         {
    51             return Calculate(message, Encoding.UTF8);
    52         }
    53 
    54         public string Calculate(string message, Encoding encoder)
    55         {
    56             return Calculate(encoder.GetBytes(message));
    57         }
    58 
    59         private MD5 md5;
    60     }
    61 }
  • 相关阅读:
    python+appium真机运行登录例子
    通过aapt查看apk包名和第一个启动的activity
    cf 17D Notepad 欧拉降幂
    主席树入门
    D2. Optimal Subsequences (Hard Version) 主席树
    cf 697C Lorenzo Von Matterhorn 思维
    2018南京现场赛K 随机输出
    2018徐州现场赛A
    洛谷p1137 模拟退火
    2018南京现场赛D 模拟退火
  • 原文地址:https://www.cnblogs.com/hshuzhao/p/4185411.html
Copyright © 2011-2022 走看看