哈希算法(简单介绍)

什么是哈希算法?

哈希是密码学的基础
哈希函数的运算结果简称哈希值
哈希函数也称散列函数
根据维基百科的定义,哈希函数是将任意大小的数据,生成出一个固定长度的数据来作为它的映射(一一对应),它是一种单向密码体制,即一个从明文到密文的不可逆映射,只有加密过程,没有解密过程。

在这里插入图片描述

1. 哈希算法的基础

  • 易压缩:任意长度的数据,算出的摘要长度都固定。
  • 易计算:对于任意给定的消息,计算其Hash值比较容易。
  • 独一无二:给定不同大小的输入数据,输出长度是一定的
  • 单向性(安全性):给定数据m,容易算出哈希值x,而从哈希输出无法倒推输入的原始数值m
  • 抗碰撞性:不同的Hash算法,理论上输出位数越高,抗碰撞性越好

    补充:

    • 碰撞(Collision):不同的输入得到相同的 Hash值

2. 哈希函数的主要作用

  • 完整性校验

    eg:一个系统中的登陆过程,需要对用户密码进行加密,存储在数据库中的密码是加密后的密码,而加密过程是不可逆的,即使数据库泄露,他人也不可轻易的得到用户的密码

3. 哈希函数分类

  1. 普通哈希
  2. 加密哈希

4. 常见的Hash算法

  • CRC-32--------54bf652d(给定任意大小数据输出8位十六进制数)
  • Md5-------------a15e14161a1c1c3ac15d21c5ac51cf51(给定任意大小数据输出32位十六进制数)
  • SHA256--------d2c244161a1c1c3ac15d21c5a6c51c51d2c244161a1c1c3ac15d21c5a6c51c51(给定任意大小数据输出64位十六进制数)
  • 注:SHA-2是一系列Hash算法的统称

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值