原文:
版权声明:有问题可联系博主QQ:15577969,大家一起相互交流和学习。 https://blog.csdn.net/qq15577969/article/details/79518724
数据库中的密码为Md5加密格式,md5是不可以逆转换的,因此只能比较Md5值 //查询管理登录的语句,其中c3284d0f94606de1fd2af172aba15bf3为admin的【二次Md5值】(经过2次md5转换而得的字符串) select COUNT(*) from sys_admin where login_name='admin' and login_pwd='c3284d0f94606de1fd2af172aba15bf3' 1、引入库 using System.Security.Cryptography; //引用Md5转换功能 2、计算字符串的Md5值 public static string GetMD5WithString(String input) { MD5 md5Hash = MD5.Create(); // 将输入字符串转换为字节数组并计算哈希数据 byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input)); // 创建一个 Stringbuilder 来收集字节并创建字符串 StringBuilder str = new StringBuilder(); // 循环遍历哈希数据的每一个字节并格式化为十六进制字符串 for (int i = 0; i < data.Length; i++) { str.Append(data[i].ToString("x2")); //加密结果"x2"结果为32位,"x3"结果为48位,"x4"结果为64位 } // 返回十六进制字符串 return str.ToString(); } 3、计算文件的Md5值 static public string GetMD5WithFilePath(string filePath) { FileStream file = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read); MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); byte[] hash_byte = md5.ComputeHash(file); string str = System.BitConverter.ToString(hash_byte); str = str.Replace("-", ""); return str; } |
posted on 2018-08-31 15:29 阅读( ...) 评论( ...)