密码盐码加密

每次新建账号密码的时候都需要获取一下新的盐码,之后用使用MD5为用户密码加密

        /// <summary>
        /// 获取新的密码盐码
        /// </summary>
        /// <returns></returns>
        public static string GetPasswordSalt()
        {
            var salt = new byte[128/8];
            using (var saltnum = RandomNumberGenerator.Create())
            {
                saltnum.GetBytes(salt);
            }
            return Convert.ToBase64String(salt);
        }
        /// <summary>
        /// 获取根据盐码加密的密码
        /// </summary>
        /// <param name="password">原密码</param>
        /// <param name="salt">盐码</param>
        /// <returns></returns>
        public static string GenEncodingPassword(string password
            ,string salt)
        {
            MD5 md5 = MD5.Create();
            byte[] bs = Encoding.UTF8.GetBytes(password+salt);
            byte[] hs = md5.ComputeHash(bs);
            StringBuilder strb = new StringBuilder();
            foreach (byte item in hs)
            {
                strb.Append(item.ToString("x2"));
            }
            return strb.ToString();
        }

注意:由于MD5是不可逆的,所以加密之后就无法解密,在每次登录的时候,都需要查询一下账号对应的盐码是多少,之后密码盐码加密,再与数据库中保存的密码来对比(数据库保存的密码是盐码加密之后的)。如果比对结果一致,则可以判定登陆成功!所以要在数据库中添加一个盐码的字段。

原文地址:https://www.cnblogs.com/ljknlb/p/10654444.html

时间: 2024-08-30 09:48:19

密码盐码加密的相关文章

关于盐值加密

第一次听说盐值加密的时候,总是感觉怪怪的.因为总会联想到咸,联想到密码是咸的. 其实这里所说的盐,简单的说,就是一组安全随机数.它会在特定的时候,加入到密码中(一般来说是加密后的密码).从而使密码变得更有味道(从单一简单化到复杂化),更安全. 下面我们就通过安全威胁分析分别说说当前两种加盐的形式: 一.数据库泄露 众所周知,用户名和密码是被保存在数据库中.可是一旦数据库发生了泄露,用户名和密码就都遭到了泄露.攻击者可以轻松的获取用户名和密码,进行操作.更大的危害是,由于现在需要注册的网站.app

centos单用户模式:修改ROOT密码和grub加密

centos单用户模式:修改ROOT密码和grub加密 CentOSLinux网络应用配置管理应用服务器 Linux 系统处于正常状态时,服务器主机开机(或重新启动)后,能够由系统引导器程序自动引导 Linux 系统启动到多用户模式,并提供正常的网络服务.如果系统管理员需要进行系统维护或系统出现启动异常时,就需要进入单用户模式或修复模式对系统进行管理了. 使用单用户模式有一个前提,就是您的系统引导器(grub)能正常工作,否则要进行系统维护就要使用修复模式.特注:进入单用户模式,没有开启网络服务

二维码加密解密工具——优密(手机版)正式上线!

Lizcst Software Lab第一款Android平台应用软件--优密正式发布! 下面是软件的简介及功能特色: 优密--二维码加解密工具该工具是一款强大的二维码加密与解密扫码的手机软件,适用于Android 2.2及以上平台.使用本工具可以制作出具有加密信息的二维码,该二维码无法被普通的二维码扫码工具解码其中的内容,可以非常方便的将机密的信息隐藏在二维码中,帮助保护机密信息不被非法的扫码解读! 优密二维码加密解密工具主要特点: 1.制作包含加密信息的二维码:软件可在手机中直接生成需要的内

二维码加密解密工具——优密 更新版本发布!

优密--二维码加解密工具该工具是一款强大的二维码加密与解密扫码的手机软件,适用于Android 2.2及以上平台.使用本工具可以制作出具有加密信息的二维码,该二维码无法被普通的二维码扫码工具解码其中的内容,可以非常方便的将机密的信息隐藏在二维码中,帮助保护机密信息不被非法的扫码解读! 优密二维码加密解密工具主要特点: 1.制作包含加密信息的二维码:软件可在手机中直接生成需要的内容的加密二维码,无需借助电脑等设备,该二维码外观与普通二维码无异,并且也可被常见的普通二维码扫码工具扫描识别,但是却无法

盐值加密-MD5

盐值加密-MD5 什么叫盐值加密 Spring security怎样进行盐值加密 以前的md5原理是 密码密文=md5算法(密码明文): 这样明文与密文其实还是一一对应的 那么人家就可以用字典攻击(就是一个一个的试)来探测密码 加盐(盐值加密)的算法很多 Spring security用的是: 密码密文=md5算法(密码明文{盐值}): 这个盐值就可以自己随便设置了,弄一个静态字符串或者用用户的登录名 举个例子: 用户名:thr 密码:fou 用用户名作为盐值 打开网页:http://www.m

数据库存储安全之(MD5+盐)加密

一般系统数据库密码加密方式: MD5后存入数据库 SHA1 Hash后存入数据库 缺点:黑客可以通过密码暴力破解获取密码信息,具体做法是将常用密码进行Hash后做成一个字典, 破解的时候,只需要查字典就能知道对应的明文密码. 建议:使用以下两种密码策略相结合的方式去解决 密码 + 盐(一串随机数) 再Hash 限制密码最小长度和密码复杂度 解释:以上给每个密码加一个随机数后,实际上是将密码人为地拓展了N位,导致密码长度大增, 使得攻击者很难很难构造这么大的一个字典去破解.退一步讲,就算攻击者的字

PHP源码加密 phpc.sinaapp.com 源代码加密

PHP源码加密,发现一个在线加密PHP源代码的好工具.phpc.sinaapp.com  这里记录一下步骤,备忘一下 方法/步骤 1 加密前后的效果 加密后 2 输网址 http://phpc.sinaapp.com 点击 开始使用 3 从磁盘中选择需要加密的PHP代码 4 选择输入 限制的使用时间,可以被使用多少天 输入 需要限制的ip或域名 等

Python解析器源码加密系列之(二):一次使用标准c的FILE*访问内存块的尝试

摘要:由于近期打算修改Python解释器以实现pyc文件的加密/解密,出于保密的要求,解密之后的数据只能放在内存中,不能写入到文件中.但是后续的解析pyc文件的代码又只能接受FILE*作为入参,所以就提出了一种把通过FILE*来访问内存的需求,下文是针对这个需求的几个方面的尝试及其结论. 以下尝试的前提是:Win7 + VS2010. 在vc中,FILE其实就是_iobuf,定义如下: struct _iobuf { char *_ptr; //文件输入的下一个位置 int _cnt; //当前

.NET 产品版权保护方案 (.NET源码加密保护) (转载)

说 明:你希望自己用.net辛辛苦苦做出来的软件被人轻易破解吗?你希望自己花了大量人力物力用.net开发出来的产品被竞争对手轻易获取核心代码吗?这是 一篇比较详尽地介绍如何保护自己的.net源代码的文章,如混淆.加密和强名称等,出于保护原作者的角度,所以本人没有掐头去尾作为自己个人的文章,正因 为是全文转载,所以并不代表本人完全赞同作者的全部观点,也不代表本人本人提作者提到的软件做广告,这一点请大家注意,不要认为我为别人做广告而骂我,其 实我根本不认识作者.一.   前言 大家好,我是康世杰,大