c#实现MD5加密

该方法如下:

 public static string GetMD5Encording(string str)
    
{
       
        MD5 md5 
= new MD5CryptoServiceProvider();
        
byte[] _byte = Encoding.Default.GetBytes(str);
        
byte[] _byteRst = md5.ComputeHash(_byte);
        StringBuilder SBuilder 
= new StringBuilder();
        
for (int i = 0; i < _byteRst.Length; i++)
        
{
            SBuilder.Append(_byteRst[i].ToString(
"x2"));
        }

        
return SBuilder.ToString();        
    }

关于“SBuilder.Append(_byteRst[i].ToString("x2"));”这句的解释:

tostring中的参数标示用何种格式来格式化字符串,其中X标示16进制,2表示两位,

例如:

        byte tmp=0x00;

        string str1=byte.ToString("x");//str1="0";

        string str2=byte.ToString("x2");//str2="00";

          

//////////////////////////////////////////////////////////////////////////////////

//////////////////////MSDN中关于数字的标准格式化字符串的参数的相关说明:

//////////////////////////////////////////////////////////////////////////////////

据区域性定义如何设置数值格式以及如何显示数值。

命名空间:System.Globalization
程序集:mscorlib(在 mscorlib.dll 中)

语法

C#
[SerializableAttribute]
            [ComVisibleAttribute(true)]
            public sealed class NumberFormatInfo : ICloneable, IFormatProvider

备注

该类包含一些信息,例如货币、小数点分隔符和其他数字符号。

若要为特定区域性创建 NumberFormatInfo,请为该区域性创建 CultureInfo 并检索 CultureInfo.NumberFormat 属性。若要为当前线程的区域性创建 NumberFormatInfo,请使用 CurrentInfo 属性。若要为固定区域性创建 NumberFormatInfo,请为只读版本使用 InvariantInfo 属性,或为可写版本使用 NumberFormatInfo 构造函数。不可能为非特定区域性创建 NumberFormatInfo

用户可以通过“控制面板”中的“区域和语言选项”(或“区域选项”或“区域设置”)选择重写某些与 Windows 的当前区域性关联的值。例如,用户可能选择以另一种格式显示日期,或选择使用区域性默认设置以外的货币。如果 CultureInfo.UseUserOverride 属性设置为 true,则还将从用户设置中检索 CultureInfo.DateTimeFormat 实例、CultureInfo.NumberFormat 实例和 CultureInfo.TextInfo 实例的属性。如果用户设置与 CultureInfo 的关联区域性不兼容(例如选定的日历不属于 OptionalCalendars 其中之一),则方法结果和属性值是未定义的。

使用在 NumberFormatInfo 的属性中存储的标准或自定义模式设置数值的格式。若要修改一个值的显示方式,NumberFormatInfo 必须是可写的,以便可以在其属性中保存自定义模式。

下表列出了每一种标准模式的标准格式字符以及可以进行设置以修改标准模式的关联 NumberFormatInfo 属性。

格式字符

说明和关联属性

c、C

货币格式。 CurrencyNegativePattern, CurrencyPositivePattern, CurrencySymbol, CurrencyGroupSizes, CurrencyGroupSeparator, CurrencyDecimalDigits, CurrencyDecimalSeparator.

d、D

十进制格式。

e、E

科学计数(指数)格式。

f、F

固定点格式。

g、G

常规格式。

n、N

数字格式。 NumberNegativePattern, NumberGroupSizes, NumberGroupSeparator, NumberDecimalDigits, NumberDecimalSeparator.

r、R

往返格式,这确保将已转换成字符串的数字转换回数字时具有与原数字相同的值。

x、X

十六进制格式。

只能为固定区域性或特定区域性创建 DateTimeFormatInfoNumberFormatInfo,而不能为非特定区域性创建它们。有关固定区域性、特定区域性和非特定区域性的更多信息,请参见 CultureInfo 类。

该类实现 ICloneable 接口以启用 NumberFormatInfo 对象的复制。它还实现 IFormatProvider 以便为应用程序提供格式化信息。

////////////////////////////////
////////Sixi. Let it be.../////
//////////////////////////////

原文地址:https://www.cnblogs.com/sixiweb/p/1342437.html