
我们来实现一个MD5加密技术
1.实际MD5加密是这样的
如图:
用c#控制台实现代码如下:
```
主要引用命名空间:using System.Security.Cryptography;
```
`
- ``handlebars
- namespace MD5加密技术
- {
- class Program
- {
- static void Main(string[] args)
- {
- Console.WriteLine("请输入一个密码:");//输入:13072362210
- string pwd = Console.ReadLine();
- string strmd5 = MD5pwd(pwd);
- Console.WriteLine(strmd5);
- //控制台输出 : d303568aec9670825402a265bc2c4472
- //MD5加密实际输出: d303568aec9670825402a265bc2c4472
- //可以看出完全吻合,说明验证成功
- Console.ReadKey();
- }
- public static string MD5pwd(string password)
- {
- //创建一个md5对象
- MD5 md5 = MD5.Create();
- //将字符串转为字节组
- Byte[] buffe = System.Text.Encoding.Default.GetBytes(password);
- //调用MD5加密的方法
- //返回加密后的方法
- Byte[] md5buffe = md5.ComputeHash(buffe);
- //由于将md5buffe中的每个元素进行ToString后,产生大量的字符串,而我们需要将这些大量的字符串拼接起来,并且返回
- //所以我们创建StringBuilder对象
- StringBuilder strbuilder = new StringBuilder();
- for (int i = 0; i < md5buffe.Length; i++)
- {
- strbuilder.Append(md5buffe[i].ToString("x2"));
- }
- //解释ToString("X2")
- //转化为16进制字符串。
- //大写X:ToString("X2")即转化为大写的16进制。
- //小写x:ToString("x2")即转化为小写的16进制。
- //2表示输出两位,不足2位的前面补0,如 0x0A 如果没有2,就只会输出0xA
- return strbuilder.ToString();
- }
- }
- }
```
```
控制台打印图片
```
我们可以看到实现效果与测试的一致,说明成功了。
学习使我快乐!
评价
排名
20
文章
32
粉丝
7
评论
21
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256


欢迎加群交流技术
青春年华
博客有利于我们方面存取很多有用的东西,真的不错!![[嘻嘻]](http://www.tnblog.net/content/static/layui/images/face/1.gif)