物联网AI MicroPython学习之语法 uhashlib哈希算法

学物联网,来万物简单IoT物联网!!在这里插入图片描述

uhashlib 介绍

实现二进制数据散列算法,支持sha256,sha1,MD5。

接口介绍

sha256 - 创建一个SHA256哈希对象

  • 参数原型:hash_obj = uhashlib.sha256([bytes])

  • 参数说明:
    | 参数 | 类型 | 必选参数? | 说明 |
    | — | — | — | — |
    | bytes | bytes | 否 | 可在创建时传入bytes数据,也可通过update方法更新 |

  • 返回值
    SHA256哈希对象。

sha1 - 创建一个SHA1哈希对象

  • 参数原型:hash_obj = uhashlib.sha1(bytes)

  • 参数说明:
    | 参数 | 类型 | 必选参数? | 说明 |
    | — | — | — | — |
    | bytes | bytes | 否 | 可在创建时传入bytes数据,也可通过update方法更新 |

  • 返回值
    SHA1哈希对象

update - 将更多的数据加到散列队列中

  • 参数原型:hash_obj.update(bytes)
  • 参数说明:
    | 参数 | 类型 | 必选参数? | 说明 |
    | — | — | — | — |
    | bytes | bytes | 否 | 需要被加密的数据 |

digest - 返回通过哈希传递的所有数据的散列

  • 参数原型:hash_obj.digest()

注意:调用此方法后,无法再将更多的数据送入散列。

  • 返回值:
    返回加密后字节类型的数据
  • 示例:
>>> import uhashlib 
import ubinascii 
hash_obj  = uhashlib.sha256()  # 创建hash对象 
hash_obj.update(b"HaaS Python hashlib test") 
data = hash_obj.digest() 
>>> print(data) 
b'\xe3\x88\xdb\xee\x99\xb8\x02\xce\x1d!d\xb4\xcd\x92l\xd8\x8f\xf7\xbde\xd0=\xd4h\xc7;(\x98\xd7\x99\xc7\x8b' >>> hex_msg = ubinascii.hexlify(data) >>> print(hex_msg) b'e388dbee99b802ce1d2164b4cd926cd88ff7bd65d03dd468c73b2898d799c78b' >>> 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/183679.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

220v插座led指示灯维修

由于220v是交流电,有反向电压的情况,而led反向通电的时候电阻无穷大,所以分压也无穷大,220v一导通就击穿,即使加了很大的电阻也没用,串联电阻只能作用于二极管正向的时候。 目前有两种方案: 方…

UE5 新特性 Nanite 开启

啥也不说,只能说,真的牛,在自己的项目上,从10几20的帧数,直接彪到了70 适用场景: 大场景,三角面足够多 在Project Setting里面 将这几个勾未true 勾上这个,放入场景即可

Hadoop知识点全面总结

文章目录 什么是HadoopHadoop发行版介绍Hadoop版本演变历史Hadoop3.x的细节优化Hadoop三大核心组件介绍HDFS体系结构NameNode介绍总结 SecondaryNameNode介绍DataNode介绍DataNode总结 MapReduce介绍分布式计算介绍MapReduce原理剖析MapReduce之Map阶段MapReduce之Reduce阶段 实…

Rust编程基础之条件表达式和循环

1.if表达式 if 表达式允许根据条件执行不同的代码分支, 以下代码是一个典型的使用if表达式的例子: fn main() {let number 3; ​if number < 5 {println!("condition was true");} else {println!("condition was false");} } 所有的 if 表达式都以…

【C++杂货铺】再谈哈希算法:位图 | 布隆过滤器 | 哈希切分

文章目录 一、位图1.1 一道面试题1.2 位图的概念1.3 位图的模拟实现1.4 位图的应用1.4.1 给定100亿个整数&#xff0c;设计算法找到只出现一次的整数1.4.2 给两个文件&#xff0c;分别有100亿个整数&#xff0c;我们只有1G内存&#xff0c;如何找到两个文件交集&#xff1f;1.4…

RabbitMQ 消息应答与发布

目录 一、消息应答 1、自动应答&#xff08;默认&#xff09; 2、手动消息应答的方法 ​编辑 3、消息重新入队 4、手动应答案列与效果演示 二、RabbitMQ持久化 1、队列持久化 2、消息持久化 三、不公平分发&#xff08;能者多劳&#xff0c;弱者少劳&#xff09; 1、…

设计模式之命令模式

定义 命令(Command)模式&#xff1a;将请求封装成对象&#xff0c;以便使用不同的请求、日志、队列等来参数化其他对象&#xff0c;命令模式也支持撤销操作。 命令模式是对命令的封装&#xff0c;把发出命令的责任和执行命令的责任分割开&#xff0c;委派给不同的对象。 类图和…

企业级低代码平台需具备的关键能力解析

低代码是数字化转型浪潮下的产物&#xff0c;国内外已经生产出了很多成熟的产品。目的是让企业以更低的成本、更快的周期、更易操作的方式完成企业数字化布局&#xff0c;以实现内部的高效工作。 一、什么是“企业级”低代码&#xff1f; 首先&#xff0c;我们先回答什么是“…

番外---10.1 gcc+make调试程序

######### step0&#xff1a;理解程序调试&#xff1b; &#xff08;原始程序文件--->目标文件---->可执行文件&#xff1b;&#xff09; step1&#xff1a;掌握使用gcc的调试方法&#xff1b; step2&#xff1a;掌握使用make编译方法&#xff1b; ######### step0&…

0002Java安卓程序设计-基于Uniapp+springboot菜谱美食饮食健康管理App

文章目录 开发环境 《[含文档PPT源码等]精品基于Uniappspringboot饮食健康管理App》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功 编程技术交流、源码分享、模板分享、网课教程 &#x1f427;裙&#xff1a;776871563 功能介绍&#xff…

TypeScript学习Ts的类型声明,关于类

TypeScript是什么&#xff1f; 以JavaScript为基础构建的语言一个JavaScript的超集可以在任何支持JavaScript的平台上执行TypeScript扩展了JavaScript并添加了类型TS不能被JS解析器直接执行 TypeScript开发环境搭建 下载Node.js安装Node.js使用npm全局安装TypeScript&#x…

进阶JAVA篇-深入了解 List 系列集合

目录 1.0 List 类的说明 1.1 List 类的常用方法 1.2 List 集合的遍历方式 2.0 ArrayList 集合的底层原理 2.1 从 ArrayList 集合的底层原理来了解具有该特性的原因&#xff1a; 2.2 ArrayList 集合的优缺点 3.0 LinkedList 集合的底层原理 3.1 从 LinkedList 集合的底层原理来了…

Elasticsearch 8.X 如何生成 TB 级的测试数据 ?

1、实战问题 我只想插入大量的测试数据&#xff0c;不是想测试性能&#xff0c;有没有自动办法生成TB级别的测试数据&#xff1f;有工具&#xff1f;还是说有测试数据集之类的东西&#xff1f;——问题来源于 Elasticsearch 中文社区https://elasticsearch.cn/question/13129 2…

修改docker 版本的mysql 8.0 本机Navicat 连不上的问题

1.进入容器 docker exec -it xxxx bash 2.使用root账号登录mysql mysql -u root -p 3.查看当前加密方式 use mysql; SELECT Host, User, plugin from user; 我这是改过了&#xff0c;应该都是caching_sha2_password 4. 修改加密方式 ALTER USER root% IDENTIFIED WITH m…

solidworks安装时,出现这个错误:无法获得下列许可SOLIDWORKS Standard.无效的(不一致的)使用许可号码。(-8,544,0)

问题描述&#xff1a;在安装SolidWorks2023时&#xff0c;按照软件管家中的步骤&#xff0c;但是在打开SolidWorks2023桌面上的快捷键时&#xff0c;出现了这个错误&#xff1a; 无法获得下列许可SOLIDWORKS Standard.无效的&#xff08;不一致的&#xff09;使用许可号码。(-…

C语言——从键盘任意输人一个三位数的自然数,求该数个位、十位、百位上的数字之和

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int i,ge,shi,bai;printf("输入一个三位数整数&#xff1a;\n");scanf("%d",&i);gei%10; //个位shii%100/10; //十位baii/100; //百位printf("个位:%d,十位:%d,百位:…

Hadoop学习总结(Shell操作)

HDFS Shell 参数 命令参数功能描述-ls查看指定路径的目录结构-du统计目录下所有文件大小-mv移动文件-cp复制文件-rm删除文件 / 空白文件夹-put上传文件-cat查看内容文件-text将源文件输出文本格式-mkdir创建空白文件夹-help帮助 一、ls 命令 ls 命令用于查看指定路径的当前目录…

电脑发热发烫,具体硬件温度达到多少度才算异常?

环境&#xff1a; 联想E14 问题描述&#xff1a; 电脑发热发烫,具体硬件温度达到多少度才算异常? 解决方案&#xff1a; 电脑硬件的温度正常范围会因设备类型和使用的具体硬件而有所不同。一般来说&#xff0c;以下是各种硬件的正常温度范围&#xff1a; CPU&#xff1a;正…

[NLP] 使用Llama.cpp和LangChain在CPU上使用大模型

一 准备工作 下面是构建这个应用程序时将使用的软件工具: 1.Llama-cpp-python 下载llama-cpp, llama-cpp-python [NLP] Llama2模型运行在Mac机器-CSDN博客 2、LangChain LangChain是一个提供了一组广泛的集成和数据连接器&#xff0c;允许我们链接和编排不同的模块。可以常…

[正式学习java②]——数组的基本使用,java内存图与内存分配

&#x1f308;键盘敲烂&#xff0c;年薪30万&#x1f308; 目录 一、数组的两种初始化方式 1.完整格式(静态初始化) 2.动态初始化 二、数组的遍历方式 三、数组的开辟与访问 四、数组的注意事项 1.数组直接打印打印的是地址值 2.数组在内存图中的位置 3.数组一旦开辟了…