您的位置:首页 > 编程语言 > C#

C# MD5-16位加密实例,32位加密实例

2013-12-09 12:50 579 查看
http://tieba.baidu.com/p/1946197125

using System;


using System.Collections.Generic;


using System.Text;


using System.Security.Cryptography;

namespace md5

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine(UserMd5("8"));

Console.WriteLine(GetMd5Str("8"));

}

/// <summary>

/// MD5 16位加密 加密后密码为大写

/// </summary>

/// <param name="ConvertString"></param>

/// <returns></returns>

public static string GetMd5Str(string ConvertString)

{

MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();

string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)),4, 8);

t2 = t2.Replace("-", "");

return t2;

}

/// <summary>

/// MD5 16位加密 加密后密码为小写

/// </summary>

/// <param name="ConvertString"></param>

/// <returns></returns>

public static string GetMd5Str(string ConvertString)

{

MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();

string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)),4, 8);

t2 = t2.Replace("-", "");

t2 = t2.ToLower();

return t2;

}

/// <summary>

/// MD5 32位加密

/// </summary>

/// <param name="str"></param>

/// <returns></returns>

static string UserMd5(string str)

{

string cl = str;

string pwd = "";

MD5 md5 = MD5.Create();//实例化一个md5对像

// 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择 

byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));

// 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得

for (int i = 0;
i < s.Length; i++)

{

// 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符

pwd = pwd + s[i].ToString("X");

}

return pwd;

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: