@哈希算法概述
哈希算法补充
一.什么是算法
简单来说,算法就是高效解决问题的方法
一种算法就是用来解决一种特定问题的
比如从10000个从小到大排列且不连续数字里找出7293
普通方法就是用眼瞅,从左到右
运气好瞅一次就可以找出,对于运气不好就得瞅一万次,甚至更多
于是就有了二分法,取出中间的值
左边的值一定比中间的值小
右边的值一定比中间的值大
于是找到7293所用的时间大大缩短,提升效率
二.hash哈希算法
可以把文本内容/一串字符计算成一串 hash 值
一串内容---->"hash"算法---->"hash"值
常用算法有
md5
sha512
sha256
三.hash值的三大特点
对于传入的内容一样, 如果采用的 hash 算法一样, 得到的 hash 值自然也一定一样
hash 值不可逆推的, 不能通过 hash 值来反推出明文
hash 值的长度取决于采用的使用的 hash 算法, 与传入的内容多少是无关
四.哈希的应用
结合特点 1 和 2 可以用于加密
结合特点 1 和 3 可以用于文件完整性校验
在网页上下载文件进度条100%后会卡一小些时间
其实就是在进行"hash"的校验
五.密码加盐
客户端向服务端提交密码后,会在客户端先通过算法加密
而服务端存有加密后的密码, 直接两端比对进行校验
但是这还是不够安全的,高技术的黑客可以拿着密文密码进行撞库或者写客户端直接提交截获到的密文
于是就出现了密码加盐的概念
⛅密码加盐相当于暗号,只有设置者才知道
⛅示范:
正常密码:1234
加盐密码: 天王1234盖地虎
或者:宝1塔2镇3河4妖
⛅加盐之后计算出来的"hash"是完全不一样的
⛅想要撞库的人就必须要猜到使用的算法和加的盐
本文来自博客园,作者:ଲ一笑奈&何,转载请注明原文链接:https://www.cnblogs.com/zeny/p/15121626.html