hashlib.sha256理解

前言

遇到这么一串代码:
在这里插入图片描述

理解

在这里插入图片描述
key=hash_vocab(vocab)。
作者的这串代码做的就是:我读入一个数据集,建立一个vocab,只要数据集不同,vocab里面的单词就一定不同。所以:

  • 首先,hashlib.sha256会随机产生一段密钥
  • 然后遍历这一个vocab中的所有单词(注意要先排序,如果是乱序,那么同一个数据集,最终迭代产生的密钥也是不同的)。对单词先encode,然后更新这个密钥
  • 最后使用.hexdigest()返回最终的密钥。

也就是下面的文件名:
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在对报文进行 HASH 计算的实验中,我们主要使用了 SHA1、SHA256、MD5 等常见的 HASH 函数。这些函数可以将任意长度的输入报文转换为固定长度的输出值,并且具有不可逆性和唯一性。 在实验中,我们首先要了解这些 HASH 函数的使用方法和特点。例如,SHA1 和 MD5 的输出长度分别为 160 位和 128 位,而 SHA256 的输出长度为 256 位。因此,SHA256 的安全性更高,但是计算速度也更慢。 在实验中,我们可以使用各种编程语言和工具来实现这些 HASH 函数的计算。例如,在 Python 中,我们可以使用 hashlib 模块来实现 SHA1、SHA256 和 MD5 的计算。具体代码如下: ```python import hashlib # 计算 SHA1 Hash 值 message = b"Hello, world!" sha1 = hashlib.sha1() sha1.update(message) print("SHA1 Hash: ", sha1.hexdigest()) # 计算 SHA256 Hash 值 message = b"Hello, world!" sha256 = hashlib.sha256() sha256.update(message) print("SHA256 Hash: ", sha256.hexdigest()) # 计算 MD5 Hash 值 message = b"Hello, world!" md5 = hashlib.md5() md5.update(message) print("MD5 Hash: ", md5.hexdigest()) ``` 在实验中,我们还需要了解 HASH 函数的一些应用场景。例如,我们可以使用 HASH 函数来验证数据的完整性和真实性。在文件传输过程中,我们可以计算文件的 HASH 值并将其与接收方计算的 HASH 值进行比较,以确保文件在传输过程中没有被篡改。 总的来说,HASH 函数是密码学中非常重要的一部分。通过实验,我们可以更好地理解 HASH 函数的特点和应用场景,并掌握计算 HASH 值的方法和技巧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值