tnblog
首页
视频
资源
登录

MD5加密技术

4032人阅读 2019/11/30 15:39 总访问:134801 评论:1 收藏:0 手机
分类: .Net

我们来实现一个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();
        }
    }
}



```


```

控制台打印图片

```

我们可以看到实现效果与测试的一致,说明成功了。

学习使我快乐!


评价
人若没梦想,那跟咸鱼有啥样
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
欢迎加群交流技术