用C#实现MD5算法

简介:
using  System; 
InBlock.gif using  System.Text; 
InBlock.gif using  System.Security.Cryptography; 
InBlock.gif
InBlock.gif namespace  Common 
InBlock.gif
InBlock.gif /// <summary> 
InBlock.gif /// 一个实现MD5散列字符串的类 
InBlock.gif /// 作者:周公 
InBlock.gif /// 日期:2007 
InBlock.gif /// </summary> 
InBlock.gif public sealed class  MD5Hashing 
InBlock.gif         { 
InBlock.gif private static  MD5 md5 = MD5.Create(); 
InBlock.gif //私有化构造函数 
InBlock.gif private  MD5Hashing() 
InBlock.gif                 { 
InBlock.gif                 } 
InBlock.gif /// <summary> 
InBlock.gif /// 使用utf8编码将字符串散列 
InBlock.gif /// </summary> 
InBlock.gif /// <param name="sourceString">要散列的字符串</param> 
InBlock.gif /// <returns>散列后的字符串</returns> 
InBlock.gif public static string  HashString( string  sourceString) 
InBlock.gif              { 
InBlock.gif return  HashString(Encoding.UTF8, sourceString); 
InBlock.gif              } 
InBlock.gif /// <summary> 
InBlock.gif /// 使用指定的编码将字符串散列 
InBlock.gif /// </summary> 
InBlock.gif /// <param name="encode">编码</param> 
InBlock.gif /// <param name="sourceString">要散列的字符串</param> 
InBlock.gif /// <returns>散列后的字符串</returns> 
InBlock.gif public static string  HashString(Encoding encode,  string  sourceString) 
InBlock.gif                 { 
InBlock.gif byte [] source = md5.ComputeHash(encode.GetBytes(sourceString)); 
InBlock.gif                         StringBuilder sBuilder =  new  StringBuilder(); 
InBlock.gif for  ( int  i = 0; i < source.Length; i++) 
InBlock.gif                         { 
InBlock.gif                                 sBuilder.Append(source[i].ToString( "x2" )); 
InBlock.gif                         } 
InBlock.gif return  sBuilder.ToString(); 
InBlock.gif                 } 
InBlock.gif         } 

InBlock.gif





















本文转自周金桥51CTO博客,原文链接: http://blog.51cto.com/zhoufoxcn/167094,如需转载请自行联系原作者



相关文章
|
2月前
|
开发框架 算法 搜索推荐
C# .NET面试系列九:常见的算法
#### 1. 求质数 ```c# // 判断一个数是否为质数的方法 public static bool IsPrime(int number) { if (number < 2) { return false; } for (int i = 2; i <= Math.Sqrt(number); i++) { if (number % i == 0) { return false; } } return true; } class Progr
62 1
|
3月前
|
算法 数据安全/隐私保护
火山中文编程 -- MD5算法和SHA算法
火山中文编程 -- MD5算法和SHA算法
20 0
火山中文编程 -- MD5算法和SHA算法
|
5月前
|
搜索推荐 算法 C#
【Unity 3D】C#中冒泡排序、选择排序、插入排序等算法的详解(附源码 超详细)
【Unity 3D】C#中冒泡排序、选择排序、插入排序等算法的详解(附源码 超详细)
54 1
|
2月前
|
搜索推荐 C#
C#实现插入排序算法
C#实现插入排序算法
12 1
|
2月前
|
搜索推荐 C#
C#实现选择排序算法
C#实现选择排序算法
17 2
|
2月前
|
搜索推荐 C#
C#实现冒泡排序算法
C#实现冒泡排序算法
20 0
|
3月前
|
算法 Java Android开发
安卓逆向 -- NDK开发实现MD5算法
安卓逆向 -- NDK开发实现MD5算法
37 0
|
3月前
|
算法 JavaScript Java
安卓逆向 -- 算法基础(MD5)
安卓逆向 -- 算法基础(MD5)
14 0
|
3月前
|
算法 Android开发
安卓逆向 -- 自吐算法(MD5和SHA)
安卓逆向 -- 自吐算法(MD5和SHA)
18 0
|
4月前
|
算法 C#
C# .Net Core bytes转换为GB/MB/KB 算法
C# .Net Core bytes转换为GB/MB/KB 算法
46 0