5分钟快速了解区块链中的哈希值Hash(用户密码存储举例说明)?在区块链中,下一个区块和上一个区块通过哈希来链接。 我建议,像类似非人名命名,而是用某个东西来命名的算法(不管中英文),最好的学习方式就是从名字本身入手,因为算法被命名的时候,设计者肯定是有某种联想的! 从字面意思入手(我是谁?) 首先,来看Hash这个单词的意思。 意思很明显,就是杂乱无章的东西,动词即把XXX弄乱。 so,到这里,我们大概就明白了,哈希值就是一堆杂乱无章的乱码。 哈希值如何生成?(我从哪里来?) 哈希值,是一段数据通过哈希算法后生成的乱码。 哈希算法,就是用来把任意长度的有规则的数据弄乱成一个固定长度的数据的一种函数。 哈希值在用户密码存储上的应用(我到哪里去?) 最简单的用户密码(不加密) 用户针对自己账户创建完密码后,密码直接存入数据库,示意图如下。 这样是最简单最方便的密码储存的模式,也是最早的密码储存方式。但是,风险也很明显,密码极其容易被盗,只要黑进了数据库,那么所有用户信息都会遗失。 改良的用户密码(初级加密) 对用户密码用哈希算法进行初级加密,加密完的密码才存入数据库,示意图如下。 进行初级加密后,即使数据库被攻击了,黑客拿到的也只是密码的哈希值,根据哈希算法的特性,黑客是无法通过哈希值反推得到密码的,所以黑客攻破了数据库也没什么用。 但是! 黑客也不是吃素的,后来黑客发明了“彩虹表攻击(Rainbow Table Attack)”,使得攻击经过哈希算法加密的密码成为可能。(*特别说明:由于了解彩虹表很有必要,我专门写了一篇关于彩虹表和彩虹表攻击的文章,见上面链接) 再改良的用户密码(高级加密) 世界就是这样,有攻就有防,事物的发展就是在这种作用与反作用之间交替前进。为了应对彩虹表攻击,大神们绞尽脑汁,发明了一种“加盐的哈希算法”。 首先,什么是盐?盐就是一组随机的字符串。把这组随机的字符串接上密码(也就是“撒盐”,嗯,确实很形象~),再用哈希算法一并进行加密。原理如下图。 加盐算法的优势就是,因为撒了盐,所以黑客再使用彩虹表攻击,难度呈指数级增长。
——THE END——
动动手指把这篇内容转发给需要学习或掉队的One成员,感谢!
声明:内容来源于互联网,绝不代表本站赞同其观点或证实其描述,内容仅供参考!
惊爆消息:One生态会员正在上公链,各个版块即将上线,全球线上线下会议火爆!为解决会员难处,本站组织个小团队,专门帮大家做KYC翻译、解决账号不能登录的各种问题、有需要现金欧元、储备欧元的,另朋友有最低价币子需出售,想多囤点币的,都可联系我们,可以加微信qyt36936(手机:13140131944)随时免费咨询。
越消费越富有:小编给您推荐自己参与8年的稳定平台: 使用【优乐兑】去淘宝、拼多多、京东和全国N家实体店消费送积分,积分兑换到比特币结算中心【共瑞城】变成比特币或金币(金币也是比特币,只涨不跌),实现双重升值;0风险、0投资、可推广,会员和商家免费入驻:点击注册:【优乐兑】;注册后点击:下载优乐兑APP;注册后加V信qyt36936,加时回复121拉你进学习群,不回复加也不通过;不懂查看操作教程:优乐兑如何使用。 |
本文来自:维卡币中文学习网,转载网址: