简单的MD5密码加密和解密方法
简单的MD5密码加密和解密方法。MD5的算法是不可逆的,MD5被广泛用于密码验证和消息体完整性验证。
下面的例子用到了密码加密和登陆时的解密的基本方法。当然这样很容易被暴力破解,可以做其他改进,如先设计一个足够复杂的密码,然后将他的MD5值与原密码MD5值相加后再求一次MD5值,这样可以增加破解难度。
简单示例如下:
[csharp] view plain copy static void Main(string[] args) { Console.WriteLine("input password"); string source = Console.ReadLine(); string hash = GetMd5Hash(source); Console.WriteLine("password: {0}, MD5 {1}", source, hash); Console.WriteLine("input password"); string psd = Console.ReadLine(); if (VerifyMd5Hash(psd, hash))//验证成功返回OK Console.WriteLine("OK"); else Console.WriteLine("ERROR"); Console.ReadKey(); } static string GetMd5Hash(string input)//获取密码对应的MD5字符串 { using (MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider()) { return BitConverter.ToString(md5.ComputeHash (UTF8Encoding.Default.GetBytes(input))).Replace("-", ""); } } static bool VerifyMd5Hash(string input, string Hash)//比较输入密码 { string hashOfInput = GetMd5Hash(input); // StringComparer comparer = StringComparer.OrdinalIgnoreCase;//忽略大小写的比较器 return hashOfInput.CompareTo(Hash) == 0 ? true : false; // return comparer.Compare(hashOfInput, Hash) == 0 ? true : false;
郑重声明:帖子标题写有 【亲测】即能正常运行,帖子标题有 【原版】字样即原始版本自带有加密文件版本
限于标题长度字数限制问题,部分资源未注明开源情况均为原版文件(原版文件未做解密处理,但不影响使用)爱集码不会自己加密代码文件,源码仅供研究学习之用,请勿用于商业运营,商业运营请支持作者,购买正版,谢谢
特别提醒:本站所有下载资源均不包含技术支持和安装服务! 如需技术支持联系客服有偿解决,终身会员视情况而定,一般小问题免费解决。
重要提示:本站对于 Safari浏览器兼容不好,如出现下载按钮消失请换360或者QQ等第三方浏览器访问或下载。
免责申明:本站仅提供学习的平台,所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,并不承担任何法律责任,如果对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以删除。
资源猫 » 简单的MD5密码加密和解密方法
资源猫 » 简单的MD5密码加密和解密方法