时间:2014-01-29 来源:

深入密码加salt原理的分析

我们知道网页外包接活,如果直接对密码进行散列,网页外包接活那么黑客可以对通过获得这个密码散列值,网页切图价格得到某用户的密码.

加Salt可以一定程度上解决这一问题.所谓加Salt方法,div+css报价然后再散列.而当用户登录时,web切图报价然后散列,html切图制作再比较散列值网页外包接活,这个值是由系统随机生成的web前端制作,并且只有系统知道.这样,web前端制作即便两个用户使用了同一个密码承接网页制作,由于系统为它们生成的salt值不同,div前端切图他们的散列值也是不同的.即便黑客可以通过自己的密码和自己生成的散列值来找具有特定密码的用户web切图报价,但这个几率太小了(密码和salt值都得和黑客使用的一样才行).

下面以PHP示例,web切图报价讲解md5($pass.$salt)加密函数.

复制代码 代码如下:

<?php
function hash($a) {
    $salt=”Random_KUGBJVY”;  //定义一个salt值符合w3c标准,程序员规定下来的随机字符串
    $b=$a.$salt;  //把密码和salt连接
    $b=md5($b);  //执行MD5散列
    return $b;  //返回散列   
}
?>

调用方式:$new_password=hash($_POST[password]);   //这里接受表单提交值,符合w3c标准并进行加密
 
下面详细介绍一下加Salt散列的过程.介绍之前先强调一点网页外包接活,前面说过,jpg或psd转html验证密码时要使用和最初散列密码时使用“相同的”佐料.所以Salt值是要存放在数据库里的.

用户注册时web前端制作,

用户输入【账号】和【密码】(以及其他用户信息);系统为用户生成【Salt值】;系统将【Salt值】和【用户密码】连接到一起;对连接后的值进行散列,web前端制作得到【Hash值】;将【Hash值1】和【Salt值】分别放到数据库中.
用户登录时承接网页制作,

用户输入【账号】和【密码】;系统通过用户名找到与之对应的【Hash值】和【Salt值】;系统将【Salt值】和【用户输入的密码】连接到一起;对连接后的值进行散列,兼职手机网页制作得到【Hash值2】(注意是即时运算出来的值);比较【Hash值1】和【Hash值2】是否相等web切图报价,相等则表示密码正确,网站div+css否则表示密码错误.
有时候符合w3c标准,为了减轻开发压力,符合w3c标准程序员会统一使用一个salt值(储存在某个地方),而不是每个用户都生成私有的salt值.

点击次数:1160
作者:
web前端行业资讯
Web new NewsList
英特尔宣布与法拉利跨界合作欲将AI技术用于赛车运动 ,,2018年01月11日甲骨文服务器出漏洞:攻击者用漏洞挖矿获取加密货币 ,,2018年01月11日用深度学习设计图像视频压缩算法:更简洁、更强大 ,,2018年01月11日Ubuntu内核和NVIDIA更新:修复Meltdown和Spectre两处漏洞 ,,2018年01月11日AntDesign3.1.1发布,阿里企业级UI设计语言 ,,2018年01月11日微信「跳一跳」带火小游戏,开发者如何快速上手? ,,2018年01月11日谷歌公布最新安卓系统份额:你用上奥利奥了么? ,,2018年01月11日腾讯开发出“3D音效”算法:普通耳机实现3D实时语音效果 ,,2018年01月11日谷歌工程师点赞中国程序员实现Node.js启动超4倍提速 ,,2018年01月11日三星电子总裁兼CE部门负责人金炫奭:万物互联时代到来 ,,2018年01月11日NVIDIA和大众合作建立智能驾驶助手 ,,2018年01月11日GIMPS项目报告发现已知最大素数 ,,2018年01月11日微软与生物技术公司开展AI驱动的血液检测同时诊断数十种疾病 ,,2018年01月11日微软跨平台移动开发工具套件HockeyApp宣布免费 ,,2018年01月11日《硅谷》里神乎其神的压缩技术,AI正在一点点做出来 ,,2018年01月11日LinuxMint19代号敲定为“Tara”预计2018年5月至6月期间发布 ,,2018年01月11日Facebook发布wav2letter工具包,用于端到端自动语音识别 ,,2018年01月11日开源数据库ArangoDB正进行约1156万美元股权融资 ,,2018年01月11日IntelCPU漏洞闹大:腾讯云紧急升级 ,,2018年01月11日2018年1月全球数据库排名:Redis夺回第八 ,,2018年01月11日Lyft将联手无人驾驶公司于CES上展示无人驾驶汽车 ,,2018年01月11日京东X无人超市首家社会门店开业:刷脸进、微信自动结算 ,,2018年01月11日担心被AI取代是杞人忧天?高晓松跨年演讲说的有几分对 ,,2018年01月11日免费授权技术许可Intel宣布在未来CPU中集成雷电3 ,,2018年01月11日算法决定你在社交媒体上看到的信息 ,,2018年01月11日谷歌安全博客披露“英特尔内核漏洞”更多细节 ,,2018年01月04日Postgres10开发者新特性 ,,2017年12月28日阿里巴巴、狗尾草、苏大联合论文:基于对抗学习的众包标注用于中文命名实体识别 ,,2017年12月28日柯洁的2017:20岁,与AI斗与人类斗,其乐无穷 ,,2017年12月28日如果机器人拥有痛觉,这个世界会有哪些不一样? ,,2017年12月28日Google的十大信条 ,,2016年07月24日hdu4614二分+线段树 【编程语言】2015年03月20日智能家居自动化的实现(Android+EthernetInternet+Arduino) 【综合】2015年01月21日Xcode升级后Alcatraz失效的解决方案,【移动开发】2015年01月12日使用O(n)的时间复杂度合并两个数组【数据库】2015年05月29日CentOSOracle报EnvironmentvariableORACLE_UNQNAMEnotdefined错误的解决办法 【编程语言】2015年03月11日工欲善其事必先利其器—成绩登统系统【综合】2015年03月09日第14周-输入输出流,文本文件-项目2-用文件保存的学生名单 【编程语言】2015年06月11日poj3349数组的hash(最常用、最普通的哈希表建立)【互联网】2015年01月04日动态加载用户控件至DataList并为用户控件赋值实例演示2014年01月29日ProjectEuler:Problem65Convergentsofe 【互联网】2015年07月20日ERROR2002(HY000):Can'tconnecttolocalMySQLserverthroughsocket'varrunmysqldmysqld.sock 【云计算】2014年12月17日JavaScript初级教程(第四课)2014年01月29日杭电HDUACM1496Equations 【互联网】2015年04月17日javascript学习笔记(十六)系统对话框(alert、confirm、prompt)2014年01月29日CSS锦囊2014年01月29日编程实现单链表的排序【编程语言】2015年08月03日理解ThreadLocal 【数据库】2015年01月12日程序员的谎谬之言还是至理名言? ,,2016年06月23日hdu5384(2015多校8)--Danganronpa(AC自动机)【编程语言】2015年08月14日WindowsXP系统SP2防火墻概述2014年01月29日Oracle快速插入100W数据【系统运维】2015年03月26日学习vi和vim编辑器(16):vim的多窗口功能(1) 【互联网】2015年03月18日如何评估机器学习模型(HowtoEvaluateMachineLearningModels) 【编程语言】2015年06月29日打造android万能上拉下拉刷新框架——XRefreshView(二) 【移动开发】2015年06月30日php更新mysql后获取影响的行数发生异常解决方法2014年01月29日HDU2073无限的路【水题】【递推】2015年01月19日pythonsklearn画ROC曲线 【编程语言】2015年04月24日如何在Word中加页码2014年01月28日【struts2】struts防止表单重复提交源码分析 【编程语言】2015年04月13日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)