🍖哈希算法补充

一.什么是算法

  • 算法就是高效解决问题的方法
  • 一种算法就是用来解决一种特定问题的
比如从10000个从小到大排列且不连续数字里找出8654
普通方法就是用眼瞅,从左到右
运气好瞅一次,运气不好瞅一万次
于是就有了二分法,取出中间的值
左边的值一定比中间的值小
右边的值一定比中间的值大
于是找到8654所用的时间大大缩短

二.hash哈希算法

可以把把文本内容/一串字符计算成一串 hash

一串内容---->"hash"算法---->"hash"

常用算法

  • md5

  • sha512

  • sha256

三.hash值的三大特点

  • 传入的内容一样, 采用的 hash 算法一样, 得到的 hash 值也一定一样
  • hash 值不可逆推, 不能通过 hash 值反推出明文
  • hash 值的长度取决于采用的 hash 算法, 与传入的内容多少无关

四.哈希的应用

  • 结合特点 12 可以用于加密
  • 结合特点 13 可以用于文件完整性校验
在网页上下载文件进度条100%后会卡一小些时间
其实就是在进行"hash"的校验

五.密码加盐

  • 客户端向服务端提交密码会在客户端先通过算法加密
  • 而服务端存有加密后的密码, 直接比对进行校验
  • 但是这还是不够安全的,高技术的黑客可以拿着密文密码进行撞库或者写客户端直接提交截获到的密文
  • 于是就出现了密码加盐的概念
⛅密码加盐相当于暗号,只有设置者知道
⛅示范:
	正常密码: 123456
	加盐密码: 派大星123456海绵宝宝
	    或者: 章123456
⛅加盐之后计算出来的"hash"是完全不一样的
⛅想要撞库的人就必须要猜到使用的算法和加的盐
posted @   给你骨质唱疏松  阅读(148)  评论(0编辑  收藏  举报
编辑推荐:
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
阅读排行:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
点击右上角即可分享
微信分享提示