esp32 micropython-SHA-256 算法

SHA-256算法简介

SHA-256算法单向Hash函数是密码学和信息安全领域中的一个非常重要的基本算法,它是把任意长的消息转化为较短的、固定长度的消息摘要的算法。

SHA安全加密标准,是至今国际上使用最为广泛的较为安全的压缩算法之一,由美国NIST和NSA两个组织共同开发的,此算法于1993年5月11日被美国NIST和NSA设定为加密标准。为了提高Hash函数的安全性能,陆续发布了改进的Hash密码算法SHA-1、SHA-224、SHA-256、SHA-384及SHA-512等。但随着2004年中国密码专家王小云教授研究小组宣布对MD5、SHA-1等加密算法的破解,随着密码学研究的不断深入和计算机技术的快速发展,美国政府计划从2010年起不再使用SHA-1,全面推广使用SHA-256、SHA-384和SHA-512等加密算法。

Hash函数的安全性很大程度上取决于抗强碰撞的能力,即攻击者找出两个信息M和M’(M≠M’),使得H(M)=HM’。因此,评价一个Hash函数的安全性,就是看攻击者在现有的条件下,是否能找到该函数的一对碰撞。目前已有的对Hash函数攻击的方法包括生日攻击、彩虹表攻击、差分攻击等。

注:密码学,本人感觉很玄幻,数学大佬的方向,推荐麦家的书,如解密等。

安装库

  • 安装库

测试库

借助Putty

  • 连接到Python提示符

2.确认文件系统里存有该文件

import os
 
os.listdir()

3.测试功能性

导入该模块

import sha256

散列的内容的字符串作为输入值传递

testString = "String to hash with sha256"
hashObject = sha256.sha256(testString)

调用hexdigest方法来获取字符串的散列值

hash = hashObject.hexdigest()
print(hash)

hash.hexdigest() 返回摘要,作为十六进制数据字符串值
hexdigest返回的摘要:0cc175b9c0f1b6a831c399e269772661

4.确认是否相符

此网站查询 http://www.xorbin.com/tools/sha256-hash-calculator
在这里插入图片描述
可以从该验证网站复制内容并将其粘贴到一个字符串中,然后比较该字符串与我们的散列字符串,从而检验MicroPython中的结果是否无误(如图4所示)。返回结果应为“True”,表明两者内容匹配。

hash == "0cc175b9c0f1b6a831c399e269772661"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值