python实现数据SHA256加密

本文介绍了SHA256哈希算法以及如何使用Python的hmac库实现HMAC-SHA256进行加密,虽然HMAC本身不支持解密,但可用于数据完整性验证。通过对比发送者和接收者计算的HMAC值来确保数据未被篡改。
摘要由CSDN通过智能技术生成

SHA256简介

SHA256是一种哈希算法,它不支持解密。但可以使用HMAC(基于哈希的消息认证码)来实现类似的加密和解密功能。以下是一个使用Python的hmac库实现HMAC-SHA256加密和解密的示例。

代码示例

import hmac
import hashlib

# 密钥
key = b"your_secret_key"

# 要加密的数据
data = b"Hello, World!"

# 使用HMAC-SHA256进行加密
hmac_sha256 = hmac.new(key, data, digestmod=hashlib.sha256)
encrypted_data = hmac_sha256.hexdigest()
print("加密后的数据:", encrypted_data)

# 由于HMAC不支持解密,所以无法直接解密数据
# 但是,可以通过比较原始数据和密钥生成的HMAC值来验证数据的完整性

# 假设收到了一个带有HMAC的数据包
received_data = b"Hello, World!"
received_hmac = "e8e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9"

# 使用相同的密钥和数据重新计算HMAC值
hmac_sha256_check = hmac.new(key, received_data, digestmod=hashlib.sha256)
calculated_hmac = hmac_sha256_check.hexdigest()

# 比较计算出的HMAC值和接收到的HMAC值是否相同
if calculated_hmac == received_hmac:
    print("数据完整性验证通过")
else:
    print("数据完整性验证失败")

注:这个示例中的解密部分实际上是验证数据完整性的过程,而不是真正的解密。因为SHA256和HMAC-SHA256都不支持解密。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值