简单的MD5密码加密和解密方法
简单的MD5密码加密和解密方法。MD5的算法是不可逆的,MD5被广泛用于密码验证和消息体完整性验证。
下面的例子用到了密码加密和登陆时的解密的基本方法。当然这样很容易被暴力破解,可以做其他改进,如先设计一个足够复杂的密码,然后将他的MD5值与原密码MD5值相加后再求一次MD5值,这样可以增加破解难度。
简单示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
[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; |
1. 带 [亲测] 说明源码已经被站长亲测过!
2. 下载后的源码请在24小时内删除,仅供学习用途!
3. 分享目的仅供大家学习和交流,请不要用于商业用途!
4. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
5. 本站所有资源来源于站长上传和网络,如有侵权请邮件联系站长!
6. 没带 [亲测] 代表站长时间紧促,站长会保持每天更新 [亲测] 源码 !
7. 盗版用户购买ripro美化无担保,若设置不成功/不生效我们不支持退款!
8. 本站提供的源码、模板、插件等其他资源,不包含技术服务请大家谅解!
9. 如果你也有好源码或者教程,可以发布本站,分享有金币奖励和额外收入!
©️创享网络科技工作室- 您的云上资源网;优质源码+优质服务=成功!
创科资源平台 » 简单的MD5密码加密和解密方法
2. 下载后的源码请在24小时内删除,仅供学习用途!
3. 分享目的仅供大家学习和交流,请不要用于商业用途!
4. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
5. 本站所有资源来源于站长上传和网络,如有侵权请邮件联系站长!
6. 没带 [亲测] 代表站长时间紧促,站长会保持每天更新 [亲测] 源码 !
7. 盗版用户购买ripro美化无担保,若设置不成功/不生效我们不支持退款!
8. 本站提供的源码、模板、插件等其他资源,不包含技术服务请大家谅解!
9. 如果你也有好源码或者教程,可以发布本站,分享有金币奖励和额外收入!
©️创享网络科技工作室- 您的云上资源网;优质源码+优质服务=成功!
创科资源平台 » 简单的MD5密码加密和解密方法