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>
相关文章推荐
- C# Task 用法
- 〔C# Note〕面向对象篇
- C#调用微软在线翻译API实现简单的翻译功能
- C# WINFORM 强制让窗体获得焦点(可实现单次置顶或持续置顶)
- C#委托的介绍(delegate、Action、Func、predicate)(转)
- C#—打字游戏
- C#正则怎么判断字符串中是否有汉字
- C#自定义Session
- C# SMTP 邮件发送之QQ邮箱篇
- 快速理解C#高级概念(一) Delegate委托
- Thrift 简单实现C#通讯服务程序 (跨语言 MicroServices)
- C#创建用户控件 - IPv4地址输入框
- 【c#操作office】--OleDbDataAdapter 与OleDbDataReader方式读取excel,并转换为datatable
- C#自定义控件在添加引用后不显示在工具箱的解决方法
- C# “/”应用程序中的服务器错误
- c#获取当前路径的方法
- c# 多线程 --Mutex(互斥锁)
- c# 时间操作
- C#使用yield关键字让自定义集合实现foreach遍历的方法
- C#做应用啦---打字游戏