HASH 值实操学习

今天水一篇小文,hash 值的。课内 ppt 看了几十遍,动手尝试还是头一回。

Hash 值介绍,作用

在学网安类课程的时候我们知道 hash 值这个加密方法。他的特点如下:

  • 正向快速:给定明文和 Hash 算法,在有限时间和有限资源内能计算得到 Hash 值。

  • 逆向困难:给定 Hash 值,在有限时间内很难逆推出明文。

  • 输入敏感:原始输入信息发生任何变化,新的 Hash 值都应该出现很大变化。

  • 冲突避免:很难找到两段内容不同的明文,使得它们的 Hash 值一致。

有以下作用:

  1. 用来校验文件完整性(待下载文件有一个 hash 值,下载下来的文件计算 hash 值如果相同说明下载的文件完整。其好处在于一个特别大的文件不用真的把每一个字节都校验一遍,只需要计算一遍 hash 值比较固定长度的字符串即可)。
  2. 校验密码(你的密码存到服务器上的时候是加密过的 hash 值,运维人员看不到密码,每次输入密码校验的时候是用输入密码计算得到的 hash 值与后台 hash 值比对,相同则正确登录。小学期 d&b 期间看有几位同学是尝试用 hash 值保存用户密码的)。
  3. 数字签名(发送加密数据。发送方发送数据的 hash 值和私钥加密后的数字签名,接收方用对方公钥解密数字签名后计算 hash 值校验文件)。

应用尝试

今天下载 pycharm 的时候顺带试了一下。

1701413391472

SHA256 是 hash 算法的其中一种,还有 MD5,SHA1,这两种相对不那么安全。

下载完成文件后,windows 计算 hash 值的方法:

1701413491378

sha hash 值确实一样。

顺便尝试一下 linux 的计算方法。

1701413676806

前几天还学到了一种检验购买的 sd 卡实际存储大小方法:写入镜像,计算 sd 内镜像 hash 值和原镜像 hash 值并比较。

猜你喜欢

转载自blog.csdn.net/jtwqwq/article/details/134735280