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

C#学习笔记之MD5加密

2016-05-27 17:15 387 查看
<span style="font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;

namespace MD5加密
{
class Program
{
static void Main(string[] args)
{
// MD5是抽象类,不能创建对象,但是可以用Create()方法模拟创建。
MD5 md5 = MD5.Create();

string str = "123";
byte[] buffer = Encoding.Default.GetBytes(str);
byte[] md5Buffer = md5.ComputeHash(buffer); // 将字节数组加密成一个新的字节数组。

// 用该方法获取到的是乱码
string strMD5 = Encoding.Default.GetString(md5Buffer);
// Console.WriteLine(strMD5);

// 将字节数组转换成字符串有三种方法:
// 1、将字节数组中每个元素按照指定的编码格式解析成字符串;
// 2、直接调用字节数组的ToString()方法;
// 3、将字节数组中每个元素ToString();

// MD5加密应该是用第三种方法:
string strr = null;
for (int i = 0; i < md5Buffer.Length; i++)
{
// 直接用ToString()方法zh得到的是十进制;
// strr += md5Buffer[i].ToString();     // 3244185981728979115075721453575112
// ToString("x"):表示转换成16进制
// strr += md5Buffer[i].ToString("x");  // 202cb962ac5975b964b7152d234b70
// x2:表示用两位数表示16进制。
strr += md5Buffer[i].ToString("x2");    // 202cb962ac59075b964b07152d234b70
}
Console.WriteLine(strr);

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