简单的MD5密码加密和解密方法
来源:互联网 发布:二叉树层次遍历java 编辑:程序博客网 时间:2024/04/28 22:14
MD5的算法是不可逆的,MD5被广泛用于密码验证和消息体完整性验证。
下面的例子用到了密码加密和登陆时的解密的基本方法。当然这样很容易被暴力破解,可以做其他改进,如先设计一个足够复杂的密码,然后将他的MD5值与原密码MD5值相加后再求一次MD5值,这样可以增加破解难度。
简单示例如下:
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; }
0 0
- 简单的MD5密码加密和解密方法
- 简单的MD5加密解密
- 简单的MD5加密解密
- MD5的加密和解密
- MD5加密解密方法
- MD5加密和解密
- MD5加密和解密
- 简单的MD5加密方法
- Java的MD5加密和解密
- Java的MD5加密和解密类
- MD5的加密和解密(总结)
- c# MD5的加密和解密
- C# MD5的加密和解密
- Java的MD5加密和解密
- java 字符串MD5的加密和解密
- 简单的加密解密方法
- 凯撒密码--简单的加密与解密
- 简单加密/解密方法包装, 含encode(),decode(),md5()
- IOS 项目加入SDL库 --- FFMPEG+SDL学习 之 二
- WiFi在城市建设中的位置
- 我可以在#include 行里使用#ifdef 来定义两个不同的东西吗?
- VS2010虚拟内存不足报错
- 天猫商城应用自定义类代码
- 简单的MD5密码加密和解密方法
- 【iOS】iPhone绘图关于QuartZ中绘制Polygons
- Set Matrix Zeroes
- C#开发笔记-读取文件,并将文件使用分隔符隔开
- poj 1704 (nim博弈)
- 虚函数
- 浅谈C/C++中的static和extern关键字
- 我得到了一些代码, 里边有太多的#ifdef。我不想使用预处理器 把所有的#include 和#ifdef 都扩展开, 有什么办法只保留一种 条件的代码呢?
- 数据库连接池实现