C#实现加密

MD5加密技术,听起来好像是个很高深的东西(我初次听到时也是如此),当然了,如果你想要研究MD5内部的加密方法和步骤的话,它确实有点难度,这方面的东西网上也比较多,包括用C语言和C#实现的MD5加密的加密算法网上比比皆是,C#不得不说确实比C在这方面有一定优势,只需要一个命名空间System.Security.Cryptography,就可以搞定所有问题。 不过话说回来,我都说了这么多了,恐怕还有很多人都还不清楚MD5,MD5到底是什么东东呢? 如果按照正规解释MD5的全称是Message-Digest Algorithm 5,Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数,不太懂是不是?说的简单一点,MD5加密就就好比你把一个任意长度的字符串交给MD5程序,它会返回给你一段固定长度的字符串,这个任意长度的字符串当然也包括一个完整的程序,一般来说,加密长度大多是32位,64位128位等,因为这种加密的算法原因,导致不可逆,也就是说,我不能由定长的字符串计算出原值,同时,不同的任意字符得到的定长字符也完全不一样(也不尽然,只能说几率很小,呵呵) 这样说大概就明白了吧? 好了,开始C#之旅吧。 先看下边这段代码

 public static string GetStrMd5(string ConvertString)

        {

            MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();//定义一个MD5加密服务提供程序


            string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)));

            t2 = t2.Replace("-", " ");/*然后用方法md5.ComputeHash计算出md5值,赋值给t2,t2的结果类似于xxxxx-xxxxx-xxxxx-xxxxx
所以这句t2 = t2.Replace("-", " ");,就是把中间的“-”替换成空格,然后返回MD5密文*/


            return t2;



        }
 
程序完整代码如下:
using System;

using System.Collections.Generic;

using System.Text;

using System.Security.Cryptography;



namespace MD5Demo

{

    class Program

    {

        static void Main(string[] args)

        {

            Console.WriteLine("请输入一个任意大小的字符串:");

            string str = Console.ReadLine();

            Console.WriteLine("经过md5加密的字符串是:{0}",GetStrMd5(str));

            Console.ReadKey();

        }

        public static string GetStrMd5(string ConvertString)

        {

            MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();

            string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)));

            t2 = t2.Replace("-", " ");

            return t2;



        }





    }

}
运行效果如下图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值