由区块链引发的密码技术讨论(五)哈希

本文深入探讨了哈希函数在密码学中的重要性,特别是在防止信息篡改和消息认证中的应用。解释了哈希函数的特性,如输入敏感性和冲突避免,并通过SHA256算法举例。此外,文章还提到了MD5和SHA-1的安全性问题,建议使用SHA256等更安全的算法。
摘要由CSDN通过智能技术生成

第五章 哈希

我们回顾第四章公钥的场景

假设小白作为黑客,他想破坏小强的约会,向餐厅客服发消息,取消晚上6点的定餐。小白也使用了餐厅客服的公钥加密信息发送给了餐厅客服,餐厅客服通过自己的私钥解密后,得到了两种不同的结果,那他就晕了,到底哪一个消息才是真的呢?现代密码技术为了解决这个问题,引入了消息认证,其底层的技术就是哈希函数,也叫做单向散列函数。

5.1 什么是哈希函数

哈希函数是密码学的一个重要分支,它是一种将任意长度的输入变换为固定长度的输出且不可逆的单向密码体制。哈希函数在数字签名和消息完整性检测等方面有着广泛的应用。

我们使用现在最常用的SHA256算法(也是比特币所使用的算法)为例:

import hashlib
text = '晚上6点,情侣套餐'
text = hashlib.sha256(text.encode('utf-8')).hexdigest()
print('"晚上6点,情侣套餐"哈希结果:',text)
text2 = '晚上7点,情侣套餐'
text2 = hashlib.sha256(text2.encode('utf-8')).hexdigest()
print('"晚上7点,情侣套餐"哈希结果:',text2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值