//获取数据库加密密码

var account = model.Set<UserInfo>().First(p=>p.UserName==user.UserName);

//获取用户输入密码 和 数据库盐码生成加密字符串
string pwd = MD5Helper.MD5Encoding(user.Password, account.Salt);

//判断密码是否一致

if (pwd != account.Password)

{

return ;

}

//MD5加密方法

public class MD5Helper
    {
        /// <summary>
        /// MD5 加密字符串
        /// </summary>
        /// <param name="str">源字符串</param>
        /// <returns>加密后字符串</returns>
        public static string MD5Encoding(string str)
        {
            // 创建MD5类的默认实例:MD5CryptoServiceProvider
            MD5 md5 = MD5.Create();
            byte[] bs = Encoding.UTF8.GetBytes(str);
            byte[] hs = md5.ComputeHash(bs);
            StringBuilder stb = new StringBuilder();
            foreach (byte b in hs)
            {
                // 以十六进制格式格式化
                stb.Append(b.ToString("x2"));
            }
            return stb.ToString();
        }

/// <summary>
        /// MD5盐值加密
        /// </summary>
        /// <param name="rawPass">源字符串</param>
        /// <param name="salt">盐值</param>
        /// <returns>加密后字符串</returns>
        public static string MD5Encoding(string rawPass, object salt)
        {
            if (salt == null) return rawPass;
            return MD5Encoding(rawPass + "{" + salt.ToString() + "}");
        }

/// <summary>
        /// 获取盐(用户登录密码)+生成验证码文字
        /// </summary>
        /// <param name="len"></param>
        /// <returns></returns>
        public static string CreateVerifyCode(int len)
        {
            char[] data = { 'a','c','d','e','f','h','k','m',
                'n','r','s','t','w','x','y'};
            StringBuilder sb = new StringBuilder();
            Random rand = new Random();
            for (int i = 0; i < len; i++)
            {
                int index = rand.Next(data.Length);//[0,data.length)
                char ch = data[index];
                sb.Append(ch);
            }
            return sb.ToString();
        }

}

.NET 使用MD5加盐加密相关推荐

  1. md5加密,md5加盐加密和解密

    package com.java.test;import java.security.MessageDigest; import java.security.SecureRandom; import ...

  2. 密码MD5加盐加密----注册、校验、修改模块

    思路:     单纯的MD5加密容易被碰撞破解,考虑将密码加上一个随机字符串(盐),再一同进行MD5加密,提高安全性. 此时,盐相当于另一半秘钥,需将盐一同存入数据库,用以验证. 实现过程:      ...

  3. MD5加盐加密工具类(可直接使用)

    MD5加盐加密工具类 在我们做项目时,涉及到用户密码,而正常来说数据库中不会直接存储明文的密码,都是加密之后的密码. 密码加密的方式有很多,比如: ① 3DES.AES.DES:使用对称加密算法,可以 ...

  4. java md5加盐与解密_md5加密,md5加盐加密和解密

    packagecom.java.test;importjava.security.MessageDigest;importjava.security.SecureRandom;importjava.u ...

  5. MD5加盐加密工具类

    直接使用MD5加密,能被解密网站破解,因此在加密的时候可以加个盐值.工具类如下: import org.apache.commons.codec.binary.Base64; import java. ...

  6. ios MD5加盐加密

    MD5加密 是HASH算法一种. 是生成32位的数字字母混合码. MD5主要特点是 不可逆 MD5算法还具有以下性质: 1.压缩性:任意长度的数据,算出的MD5值长度都是固定的.2.容易计算:从原数据 ...

  7. SpringBooot MD5加盐加密

    String pwd = userInfo.getPassword();//随机生成密码盐(字符)String str = "abcdefghijklmnopqrstuvwxyzABCDEF ...

  8. mysql md5 加盐加密_MD5—加密,加盐

    packagecom.demo.tools;importjava.security.MessageDigest;importjava.security.NoSuchAlgorithmException ...

  9. Java使用MD5加盐对密码进行加密处理,附注册和登录加密解密处理

    前言 在开发的时候,有一些敏感信息是不能直接通过明白直接保存到数据库的.最经典的就是密码了.如果直接把密码以明文的形式入库,不仅会泄露用户的隐私,对系统也是极其的不厉,这样做是非常危险的. 那么我们就 ...

  10. 基于java注册登录MD5算法加盐加密颁发 Token身份令牌使用各种邮箱发送验证码详解雪花算法

    目的作用 == 在项目中,为了防止别人窥视我们的密码通常我们会采取一些加密方式.这里简单介绍一下MD5 加盐加密方法,MD5叫做信息-摘要算法,严格来说不是加密方式,而是信息摘要. 对于可以接触到数据 ...

最新文章

  1. 中国地区的官方ubuntu源
  2. [YTU]_2575( 交通工具信息)
  3. vue.js几行实现的简单的todo list
  4. [html] 谈谈你对input元素中readonly和disabled属性的理解
  5. matlab超出维度,求助。。。matlab索引超出维度要怎么修改。。。谢谢
  6. 阅读邮件回复邮件计算机操作题,一级计算机操作题步骤——Outlook Express操作.docx...
  7. 使用ExMerge工具管理Exchange用户邮箱。
  8. 我的世界php motd,我的世界motd标语编辑器
  9. Bias and Debias in Recommender System: A Survey and Future Directions学习笔记
  10. Life:怎样提高睡眠质量?
  11. 易中天∑品读汉代风云人物
  12. 利用sqlmap注入获取网址管理员账号密码
  13. 首席新媒体运营黎想教程:3步教你如何做好社群运营
  14. python画图库-matplotlib
  15. echarts 配置项 series 中的data 多维度
  16. android 隐藏Settings菜单的几种方法
  17. 《关爱码农成长计划》第一期报告
  18. 单片机实例21——拉幕式数码显示技术(硬件电路图+汇编程序+C语言程序)
  19. 学习笔记——高阶函数
  20. ChatGPT中的提示工程(Prompt Engineering)怎么做?50页最新PPT下载

热门文章

  1. Lena.jpg 与图像处理的渊源
  2. 搭建一个简单的服务器
  3. hcna华为认证网络工程师
  4. 利用全能电子地图下载器+GeoWebCache发布Arcgis Server缓存瓦片过程全记录
  5. Go游戏框架初探《一》
  6. 冰点文库下载器V3.1.4
  7. selenium无头浏览器
  8. Premiere 五套特效转场插件合集 FilmImpact Transition Packs V3.6.11
  9. Mac下Zookeeper安装及配置
  10. QCC原因分析阶段之常用工具 - QCC小组活动推行知识系列介绍(四)