salt值(盐值)

SALT值属于随机值。用户注册时,系统用来和用户密码进行组合而生成的随机数值,称作salt值,通称为加盐值。

1、背景:系统通常把用户的密码如MD5加密后,以密文形式保存在数据库中,来防止黑客偷窥。

2、产生:随着对MD5密文查询工具的出现,而很多用户的密码又设置简单,单纯的对用户密码进行MD5加密后保存,用密文很容易就能反查询得到某用户的密码。

3、原理:为用户密码添加Salt值,使得加密的得到的密文更加冷僻,不宜查询。即使黑客有密文查询到的值,也是加了salt值的密码,而非用户设置的密码。salt值是随机生成的一组字符串,可以包括随机的大小写字母、数字、字符,位数可以根据要求而不一样。

4、用途:当用户首次提供密码时(通常是注册时),由系统自动添加随机生成的salt值,然后再散列。而当用户登录时,系统为用户提供的代码撒上同样的加盐值,然后散列,再比较散列值,已确定密码是否正确。

5、其它:经过添加salt值处理的密码,即使用户设置的原密码是相通的,数据库中的密文却是不同的。

引:

单向散列加密

salt

|

V

-----明文---->  单向散列算法 ----->密文

为了加强单向散列计算的安全性,会给散列算法加点盐(salt),salt相当于加密的密钥,增加破解的难度。常用的单向散列算法有MD5、SHA等。

单向散列算法还有一个特点就是输入的任何微小变化都会导致输出的完全不同,这个特性有时也会被用来生成信息摘要、计算具有高离散程度的随机数等用途。

原文地址:https://www.cnblogs.com/xinhua219/p/10092458.html

时间: 2024-11-05 21:34:46

salt值(盐值)的相关文章

(转)浅谈MD5加密算法中的加盐值(SALT)

我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码. 加Salt可以一定程度上解决这一问题.所谓加Salt方法,就是加点“佐料”.其基本想法是这样的:当用户首次提供密码时(通常是注册时),由系统自动往这个密码里撒一些“佐料”,然后再散列.而当用户登录时,系统为用户提供的代码撒上同样的“佐料”,然后散列,再比较散列值,已确定密码是否正确. 这里的“佐料”被称作“Salt值”,这个值是由系统随机生成的,并且只有系统

(转,学习记录)MD5加密算法中的加盐值(SALT)

我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码. 加Salt可以一定程度上解决这一问题.所谓加Salt方法,就是加点“佐料”.其基本想法是这样的:当用户首次提供密码时(通常是注册时),由系统自动往这个密码里撒一些“佐料”,然后再散列.而当用户登录时,系统为用户提供的代码撒上同样的“佐料”,然后散列,再比较散列值,已确定密码是否正确. 这里的“佐料”被称作“Salt值”,这个值是由系统随机生成的,并且只有系统

Web应用你加盐了吗?——浅谈MD5加密算法中的加盐值(SALT)

转自:http://blog.csdn.net/blade2001/article/details/6341078 我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码. 加Salt可以一定程度上解决这一问题.所谓加Salt方法,就是加点“佐料”.其基本想法是这样的:当用户首次提供密码时(通常是注册时),由系统自动往这个密码里撒一些“佐料”,然后再散列.而当用户登录时,系统为用户提供的代码撒上同样的“佐料”,然后

关于盐值加密

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

MD5盐值加密

加密思路 思路解析:(数据解析过程基于16进制来处理的,加密后为16进制字符串) 加密阶段: 对一个字符串进行MD5加密,我们需要使用到MessageDigest(消息摘要对象),需要一个盐值(salt),这个值可以是我们在业务中的一个标识号,比如银行业务中的商户号. 然后对使用salt对password进行组合加密,形成一个加密串Encryp_password,但这时候并不是真正完整的加密串,我们还需要将salt放到加密串的最前面,方便在数据验证时,获取salt. 因此最终的加密串为:SAL_

盐值加密-MD5

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

(原创)随机串的产生,可以用于盐值

之前要加密密码的时候,要加入盐值以加强强度,找了部分,又在网上的基础上修改了下(参考网页:http://blog.csdn.net/wangchangshuai0010/article/details/17188417) //产生长度为length的随机字符串 char pSymbol[] = {'~','`','!','@','#','$','%','^','&', '*','(',')','_','+','-','=','{','}','|','[',']', ':',';','<','

电机系统标幺值基准值的选取

电机系统标幺化的好处: 对于不同功率.电压值的设备标幺值在一定范围内,具有可比性,而测量值则随之变化: 定点DSP控制:可有效防止数据溢出. 各个基值的选取方式如下: 电机系统标幺值基准值的选取,布布扣,bubuko.com

C++11之右值引用:从左值右值到右值引用

C++98中规定了左值和右值的概念,但是一般程序员不需要理解的过于深入,因为对于C++98,左值和右值的划分一般用处不大,但是到了C++11,它的重要性开始显现出来. C++98标准明确规定: 左值是可以取得内存地址的变量. 非左值即为右值. 从这里可以看出,可以执行&取地址的就是左值,其他的就是右值. 这里需要明确一点,能否被赋值不是区分C++左值和右值的区别. 我们给出四个表达式: string one("one"); const string two("two&