黑马程序员技术交流社区
标题:
MD5加密是怎样实现的呢?举例说明好吗
[打印本页]
作者:
于振发
时间:
2013-9-26 00:11
标题:
MD5加密是怎样实现的呢?举例说明好吗
本帖最后由 于振发 于 2013-9-26 17:06 编辑
求解MD5加密是怎样实现的这个过程,在这个过程当作做了一些什么操作,附上代码哦~多谢!
作者:
段朝骞
时间:
2013-9-26 13:16
MD5也是一个类 位于System.Security.Cryptography命名空间下,该类有static Create(string)方法
返回值为MD5类型,再Tostring()得到MD5加密后的字符串
要是你问的是MD5是怎样算的。。。这个我也不知道
作者:
念念念念_、
时间:
2013-9-26 17:00
本帖最后由 念念念念_、 于 2013-9-26 17:03 编辑
static void Main(string[] args)
{
Console.WriteLine("请输入一个字符串:");
string msg = Console.ReadLine();
string md5 = Md5Encrypt(msg);
Console.WriteLine(md5);
Console.WriteLine("ok");
Console.ReadKey();
}
private static string Md5Encrypt(string msg)
{
//创建一个MD5对象
MD5 md5 = MD5.Create();
//2.把字符串变为一个byte[]
//对于中文或者某些字符,采用不同的编码生成的byte[]是不一样的,
//所以造成了采用不同编码生成的md5值不一样的情况。
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(msg);
//3.将一个byte[]通过MD5计算得到一个新的byte[],新的byte[]就是计算md5后的结果。
byte[] md5Buffer = md5.ComputeHash(buffer);
//释放资源
md5.Clear();
//4.将计算后的结果直接显示为字符串
StringBuilder sb = new StringBuilder();
for (int i = 0; i < md5Buffer.Length; i++)
{
//x2:把每个数字转换为16进制,并保留两位数字。
sb.Append(md5Buffer
.ToString("x2"));
}
return sb.ToString();
}
作者:
念念念念_、
时间:
2013-9-26 17:04
MD5算法是将密文转换为32位的十六进制的字符串
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2