md5 for pwd

This commit is contained in:
anjoy8 2019-05-13 12:07:23 +08:00
parent e21e8e476b
commit 4cf62d50a9
4 changed files with 70 additions and 7 deletions

View File

@ -0,0 +1,59 @@
using System;
using System.Collections.Generic;
using System.Security.Cryptography;
using System.Text;
namespace Blog.Core.Common.Helper
{
public class MD5Helper
{
/// <summary>
/// 16位MD5加密
/// </summary>
/// <param name="password"></param>
/// <returns></returns>
public static string MD5Encrypt16(string password)
{
var md5 = new MD5CryptoServiceProvider();
string t2 = BitConverter.ToString(md5.ComputeHash(Encoding.Default.GetBytes(password)), 4, 8);
t2 = t2.Replace("-", "");
return t2;
}
/// <summary>
/// 32位MD5加密
/// </summary>
/// <param name="password"></param>
/// <returns></returns>
public static string MD5Encrypt32(string password)
{
string cl = password;
string pwd = "";
MD5 md5 = MD5.Create(); //实例化一个md5对像
// 加密后是一个字节类型的数组这里要注意编码UTF8/Unicode等的选择 
byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
// 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
for (int i = 0; i < s.Length; i++)
{
// 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母如果使用大写X则格式后的字符是大写字符
pwd = pwd + s[i].ToString("X");
}
return pwd;
}
/// <summary>
/// 64位MD5加密
/// </summary>
/// <param name="password"></param>
/// <returns></returns>
public static string MD5Encrypt64(string password)
{
// 实例化一个md5对像
// 加密后是一个字节类型的数组这里要注意编码UTF8/Unicode等的选择 
MD5 md5 = MD5.Create();
byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(password));
return Convert.ToBase64String(s);
}
}
}

View File

@ -69,7 +69,7 @@
创建时间
</summary>
</member>
<!-- 对于成员“T:Blog.Core.Model.Models.BlogArticle”忽略有格式错误的 XML 注释 -->
<!-- Badly formed XML comment ignored for member "T:Blog.Core.Model.Models.BlogArticle" -->
<member name="P:Blog.Core.Model.Models.BlogArticle.bID">
<summary>
主键
@ -646,8 +646,8 @@
登录账号
</summary>
</member>
<!-- 对于成员“T:Blog.Core.Model.Models.Topic”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“T:Blog.Core.Model.Models.TopicDetail”忽略有格式错误的 XML 注释 -->
<!-- Badly formed XML comment ignored for member "T:Blog.Core.Model.Models.Topic" -->
<!-- Badly formed XML comment ignored for member "T:Blog.Core.Model.Models.TopicDetail" -->
<member name="T:Blog.Core.Model.Models.UserRole">
<summary>
用户跟角色关联表

View File

@ -6,6 +6,7 @@ using System.Security.Claims;
using System.Threading.Tasks;
using Blog.Core.AuthHelper;
using Blog.Core.AuthHelper.OverWrite;
using Blog.Core.Common.Helper;
using Blog.Core.IServices;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Cors;
@ -57,13 +58,12 @@ namespace Blog.Core.Controllers
string jwtStr = string.Empty;
bool suc = false;
//这里就是用户登陆以后,通过数据库去调取数据,分配权限的操作
//这里直接写死了
var user = await _sysUserInfoServices.GetUserRoleNameStr(name, pass);
var user = await _sysUserInfoServices.GetUserRoleNameStr(name, MD5Helper.MD5Encrypt32(pass));
if (user != null)
{
TokenModelJwt tokenModel = new TokenModelJwt {Uid = 1, Role = user};
TokenModelJwt tokenModel = new TokenModelJwt { Uid = 1, Role = user };
jwtStr = JwtHelper.IssueJwt(tokenModel);
suc = true;
@ -140,6 +140,8 @@ namespace Blog.Core.Controllers
});
}
pass = MD5Helper.MD5Encrypt32(pass);
var user = await _sysUserInfoServices.Query(d => d.uLoginName == name && d.uLoginPWD == pass);
if (user.Count > 0)
{

View File

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Blog.Core.AuthHelper.OverWrite;
using Blog.Core.Common.Helper;
using Blog.Core.IServices;
using Blog.Core.Model;
using Blog.Core.Model.Models;
@ -63,7 +64,6 @@ namespace Blog.Core.Controllers
var allRoles = await _roleServices.Query(d => d.IsDeleted == false);
foreach (var item in sysUserInfos)
{
item.uLoginPWD = "no see me";
item.RID = (allUserRoles.FirstOrDefault(d => d.UserId == item.uID)?.RoleId).ObjToInt();
item.RoleName = allRoles.FirstOrDefault(d => d.Id==item.RID)?.Name;
}
@ -125,6 +125,8 @@ namespace Blog.Core.Controllers
{
var data = new MessageModel<string>();
sysUserInfo.uLoginPWD= MD5Helper.MD5Encrypt32(sysUserInfo.uLoginPWD);
var id = await _sysUserInfoServices.Add(sysUserInfo);
data.success = id > 0;
if (data.success)