当前位置: 首页 > news >正文

Python hash编码(go hash编码)

id="中国人"

首先,go语言hash:

import (mmh3 "murmurhash3")
mmh3.Murmurhash3([]byte(id))

对应到Python hash编码,可以直接使用mmh3

import mmh3
mmh3.hash(id,signed=False)

其源码可以表示为

def sum32WithSeed(datas, seed=0):c1_32 = 0xcc9e2d51c2_32 = 0x1b873593h1 = seeddatas_bytes = datas.encode('utf-8')datas_bytes_len = len(datas_bytes)if datas_bytes_len == 0:return 0nblocks = datas_bytes_len // 4for id in range(datas_bytes_len):if id % 4 != 0 or id + 4 > datas_bytes_len:continuek1 = int.from_bytes(datas_bytes[id:id + 4], byteorder='little', signed=False)k1 *= c1_32k1 &= 0xffffffffk1 = (k1 << 15) | (k1 >> 17)k1 *= c2_32k1 &= 0xffffffffh1 ^= k1h1 = (h1 << 13) | (h1 >> 19)h1 = h1 * 4 + h1 + 0xe6546b64h1 &= 0xfffffffftail = datas_bytes[nblocks * 4:]tail_len = len(tail)k1 = 0for id in [3, 2, 1]:if tail_len >= id and id == 3:k1 ^= int.from_bytes(tail[2:3], byteorder='little', signed=False) << 16if tail_len >= id and id == 2:k1 ^= int.from_bytes(tail[1:2], byteorder='little', signed=False) << 8if tail_len >= id and id == 1:k1 ^= int.from_bytes(tail[0:1], byteorder='little', signed=False)k1 *= c1_32k1 &= 0xffffffffk1 = (k1 << 15) | (k1 >> 17)k1 *= c2_32k1 &= 0xffffffffh1 ^= k1h1 &= 0xffffffffh1 ^= datas_bytes_lenh1 ^= h1 >> 16h1 *= 0x85ebca6bh1 &= 0xffffffffh1 ^= h1 >> 13h1 *= 0xc2b2ae35h1 &= 0xffffffffh1 ^= h1 >> 16return h1def sum32(datas):return sum32WithSeed(datas, 0)print(sum32(id))

相关文章:

Python hash编码(go hash编码)

id"中国人" 首先&#xff0c;go语言hash: import (mmh3 "murmurhash3") mmh3.Murmurhash3([]byte(id)) 对应到Python hash编码&#xff0c;可以直接使用mmh3 import mmh3 mmh3.hash(id,signedFalse) 其源码可以表示为 def sum32WithSeed(datas, seed…...

004 插入排序(lua)

文章目录 123 1 -- Lua中没有类和方法的概念&#xff0c;所以我们将所有功能都写在一个脚本中 -- 交换数组中两个元素的功能 local function swap(arr, i, j) local temp arr[i] arr[i] arr[j] arr[j] temp end -- 插入排序算法的实现 local function insertionS…...

计算机网络 —— 基本概念

基本概念 1. 通信协议2. 面向连接 v.s. 面向无连接3. 电路交换 v.s. 分组交换4. 单工通信 v.s. 双工通信 1. 通信协议 通信协议就是计算机与计算机之间通过网络实现通信时事先达成的一种“约定”。这种“约定”使那些由不同厂商的设备、不同的CPU 以及不同的操作系统组成的计算…...

高精度除法的实现

高精度除法与高精度加法的定义、前置过程都是大致相同的&#xff0c;如果想了解具体内容&#xff0c;可以移步至我的这篇博客&#xff1a;高精度加法计算的实现 在这里就不再详细讲解&#xff0c;只讲解主体过程qwq 主体过程 高精度除法的原理和小学学习的竖式除法是一样的。 …...

STM32CUBEMX配置USB虚拟串口

STM32CUBEMX配置USB虚拟串口 cubemx上默认配置即可。 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 配置完后生成工程&#xff0c;主要就是要知道串口的收发接口就行了。 发送&#xff1a;CDC_Transmit_FS()&#xff0c;同时记得包含头文件#include “…...

安卓开发中margin和padding的区别

在 Android 开发中&#xff0c;margin 和 padding 都是用来定义视图&#xff08;View&#xff09;的空间属性&#xff0c;但它们的作用和应用场景有所不同&#xff1a; Margin&#xff08;外边距&#xff09;&#xff1a; Margin 是视图与其他视图之间的空间。它定义了视图之间…...

Symfony事件调度系统:掌控应用程序生命周期的钥匙

Symfony事件调度系统&#xff1a;掌控应用程序生命周期的钥匙 引言 Symfony是一个高度灵活的PHP框架&#xff0c;用于构建各种规模的Web应用程序。它的核心特性之一是事件调度系统&#xff0c;该系统允许开发者在应用程序的生命周期中触发和监听事件。这种机制为开发者提供了…...

maven安装jar和pom到本地仓库

举例子我们要将 elastic-job-spring-boot-starter安装到本地的maven仓库&#xff0c;如下&#xff1a; <dependency><groupId>com.github.yinjihuan</groupId><artifactId>elastic-job-spring-boot-starter</artifactId><version>1.0.5&l…...

[leetcode]assign-cookies. 分发饼干

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int findContentChildren(vector<int>& g, vector<int>& s) {sort(g.begin(), g.end());sort(s.begin(), s.end());int m g.size(), n s.size();int count 0;for (int i 0, j 0; i…...

如何轻松解决复杂文档格式转换问题

上周&#xff0c;我遇到了一个棘手的问题&#xff1a;需要将一大堆PDF文件转换成可编辑的Word文档&#xff0c;时间紧迫&#xff0c;手动转换根本来不及。朋友推荐我使用了一个网站——xuelin.cc&#xff0c;这个网站不仅提供强大的AI对话功能&#xff0c;还能轻松完成各种文档…...

日期类(java)

文章目录 第一代日期类 Date常用构造方法SimpleDateFormat 日期格式化类日期转字符串&#xff08;String -> Date)字符串转日期 (String->Date) 第二代日期类 Calendar常用字段与如何得到实例对象相关 API 第三代日期类&#xff08;LocalDate\TIme)日期&#xff0c;时间&…...

【深度学习】C++ Tensorrt Yolov8 目标检测推理

C Tensorrt Yolov8 目标检测推理 模型导出代码yolov8.hyolov8.cppcommon.hppCMakeListmain.cpp C tensorrt对yolov8目标检测模型进行推理。 Windows版本下只需要修改common.hpp对文件的判断S_ISREG 和对文件夹的判断S_ISDIR即可&#xff0c;非核心代码&#xff0c;不调用删掉都…...

【项目日记(二)】搜索引擎-索引制作

❣博主主页: 33的博客❣ ▶️文章专栏分类:项目日记◀️ &#x1f69a;我的代码仓库: 33的代码仓库&#x1f69a; &#x1faf5;&#x1faf5;&#x1faf5;关注我带你了解更多项目内容 目录 1.前言2.索引结构2.1创捷索引2.2根据索引查询2.3新增文档2.4内存索引保存到磁盘2.5把…...

K 近邻、K-NN 算法图文详解

1. 为什么学习KNN算法 KNN是监督学习分类算法&#xff0c;主要解决现实生活中分类问题。根据目标的不同将监督学习任务分为了分类学习及回归预测问题。 KNN&#xff08;K-Nearest Neihbor&#xff0c;KNN&#xff09;K近邻是机器学习算法中理论最简单&#xff0c;最好理解的算法…...

Eclipse + GDB + J-Link 的单片机程序调试实践

Eclipse GDB J-Link 的调试实践 本文介绍如何创建Eclipse的调试配置&#xff0c;如何控制调试过程&#xff0c;如何查看修改各种变量。 对 Eclipse 的要求 所用 Eclipse 应当安装了 Eclipse Embedded CDT 插件。从 https://www.eclipse.org/downloads/packages/ 下载 Ecli…...

前端代码生成辅助工具

1&#xff0c;Axure Axure设计的界面如何生成HTML文件 https://blog.csdn.net/qq_43279782/article/details/112387511 Axure 生成HTML 文件&#xff0c;并用Chrome打开 https://blog.csdn.net/qq_30718137/article/details/80621025 2&#xff0c;OpenUI [开源] OpenUI …...

静态库与动态库总结

一、库文件和头文件 所谓库文件&#xff0c;可以将其理解为压缩包文件&#xff0c;该文件内部通常包含不止一个目标文件&#xff08;也就是二进制文件&#xff09;。 值得一提的是&#xff0c;库文件中每个目标文件存储的代码&#xff0c;并非完整的程序&#xff0c;而是一个…...

深入解析tcpdump:网络数据包捕获与分析的利器

引言 在网络技术日新月异的今天&#xff0c;网络数据包的捕获与分析成为了网络管理员、安全专家以及开发人员不可或缺的技能。其中&#xff0c;tcpdump作为一款强大的网络数据包捕获分析工具&#xff0c;广泛应用于Linux系统中。本文将从技术人的角度&#xff0c;详细分析tcpdu…...

【漏洞复现】科立讯通信有限公司指挥调度管理平台uploadgps.php存在SQL注入

0x01 产品简介 科立讯通信指挥调度管理平台是一个专门针对通信行业的管理平台。该产品旨在提供高效的指挥调度和管理解决方案&#xff0c;以帮助通信运营商或相关机构实现更好的运营效率和服务质量。该平台提供强大的指挥调度功能&#xff0c;可以实时监控和管理通信网络设备、…...

什么是自然语言处理(NLP)?详细解读文本分类、情感分析和机器翻译的核心技术

什么是自然语言处理&#xff1f; 自然语言处理&#xff08;Natural Language Processing&#xff0c;简称NLP&#xff09;是人工智能的一个重要分支&#xff0c;旨在让计算机理解、解释和生成人类的自然语言。打个比方&#xff0c;你和Siri对话&#xff0c;或使用谷歌翻译翻译一…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战&#xff0c;克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】&#xff1a;开启编程世界的奇妙冒险 嘿&#xff0c;各位编程小白探险家&#xff01;欢迎来到 C# 的奇幻大陆&#xff01;今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类&#xff01;别害怕&#xff0c;跟着我&#xff0c;保准让你轻松搞…...

CSS | transition 和 transform的用处和区别

省流总结&#xff1a; transform用于变换/变形&#xff0c;transition是动画控制器 transform 用来对元素进行变形&#xff0c;常见的操作如下&#xff0c;它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...

【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案

目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后&#xff0c;迭代器会失效&#xff0c;因为顺序迭代器在内存中是连续存储的&#xff0c;元素删除后&#xff0c;后续元素会前移。 但一些场景中&#xff0c;我们又需要在执行删除操作…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...

Monorepo架构: Nx Cloud 扩展能力与缓存加速

借助 Nx Cloud 实现项目协同与加速构建 1 &#xff09; 缓存工作原理分析 在了解了本地缓存和远程缓存之后&#xff0c;我们来探究缓存是如何工作的。以计算文件的哈希串为例&#xff0c;若后续运行任务时文件哈希串未变&#xff0c;系统会直接使用对应的输出和制品文件。 2 …...