python 计算异或
'''********************************************************
Func Name: addZero
Para: x : 字符串
y : 长度
return: x : 处理后的字符串
Desc: 将字符串修改为指定长度,不足的补0,只限于加长,不剪短
Date: 20190711
Auth: yanerfree
********************************************************'''
def addZero(x, y):
while True:
if len(x) < y:
x = '' + x
else:
break return x
'''********************************************************
Func Name: hexToInt
Para: h:16进制数
return: datalen: 10进制数
Desc: #将 16进制数 转换为 INT
Date: 20190711
Auth: yanerfree
********************************************************'''
def hexToInt(h):
return int(h,16) '''********************************************************
Func Name: intToHex
Para: n : 10进制数
x : 几个字节
return: 16进制字符串
Desc: 将 16进制数 转换成对应的16进制字符串,并根据字节长度补0,不带0x或者 x
Date: 20190711
Auth: yanerfree
********************************************************'''
def intToHex(n, x):
num = hex(n)
#print(num)
num_list = num.split('0x')[1:]#num_list = num.split('0x')[1] return addZero(num_list[0].upper(), x*2) '''********************************************************
Func Name: checkValue
Para: h : 需要做异或的16进制字符串
return: value : 异或结果
Desc: 将传入的16进制按2位(8bit) 做异或运算,前2个异或后的结果与下一个异或,一直到结束
Date: 20190712
Auth: yanerfree
********************************************************'''
#将2位的16进制转换成能够用户异或计算的16位数,即'6F'--> 0x6F --> 10进制
#16进制转10进制
def add0x(s):
return eval('0x'+s) def checkValue(h):
#先取前2组,每组2个做异或运算
value = add0x(h[0:2]) ^ add0x(h[2:4])#异或后是10进制数 for i in range(4, len(h), 2):
value = value ^ add0x(h[i:i+2])
#print('异或结果--10进制:',value)
#print('异或结果--16进制:',hex(value))
#print('转换成16进制intToHex(value, 1):',intToHex(value, 1))
#value = add0x(intToHex(value, 1)) value = intToHex(value, 1)#16进制的校验值,1个字节
return value.upper()
python 计算异或的更多相关文章
- [转载] python 计算字符串长度
本文转载自: http://www.sharejs.com/codes/python/4843 python 计算字符串长度,一个中文算两个字符,先转换成utf8,然后通过计算utf8的长度和len函 ...
- Python计算斗牛游戏的概率
Python计算斗牛游戏的概率 过年回家,都会约上亲朋好友聚聚会,会上经常会打麻将,斗地主,斗牛.在这些游戏中,斗牛是最受欢迎的,因为可以很多人一起玩,而且没有技术含量,都是看运气(专业术语是概率). ...
- 利用Python计算π的值,并显示进度条
利用Python计算π的值,并显示进度条 第一步:下载tqdm 第二步;编写代码 from math import * from tqdm import tqdm from time import ...
- 用Python计算幂的两种方法,非递归和递归法
用Python计算幂的两种方法: #coding:utf-8 #计算幂的两种方法.py #1.常规方法利用函数 #不使用递归计算幂的方法 """ def power(x, ...
- Python计算分位数
Python计算分位数 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/gdkyxy2013/article/details/80911514 ...
- python 计算校验和
校验和是经常使用的,这里简单的列了一个针对按字节计算累加和的代码片段.其实,这种累加和的计算,将字节翻译为无符号整数和带符号整数,结果是一样的. 使用python计算校验和时记住做截断就可以了. 这里 ...
- 为了用python计算一个汉字的中心点,差点没绞尽脑汁活活累死
为了用python计算一个汉字的中心点,差点没绞尽脑汁活活累死
- python计算时间差的方法
本文实例讲述了python计算时间差的方法.分享给大家供大家参考.具体分析如下: 1.问题: 给定你两个日期,如何计算这两个日期之间间隔几天,几个星期,几个月,几年? 2.解决方法: 标准模块date ...
- 用Python计算最长公共子序列和最长公共子串
如何用Python计算最长公共子序列和最长公共子串 1. 什么是最长公共子序列?什么是最长公共子串? 1.1. 最长公共子序列(Longest-Common-Subsequences,LCS) 最长公 ...
随机推荐
- 【阅读笔记】Ranking Relevance in Yahoo Search (三)—— query rewriting
5. QUERY REWRITING 作用: query rewriting is the task of altering a given query so that it will get bet ...
- python selenium(环境搭建)
一:自动化了解知识 工具安装 什么样的项目适合做自动化? 自动化测试一般在什么阶段开始实施? 你们公司自动化的脚本谁来维护?如何维护? 自动化用例覆盖率是多少? 自动化的原理 通过 webdriver ...
- python selenium(用例断言)
1.if ...else ...判断进行断言 from time import * from selenium import webdriver "): driver = webdriver ...
- Jmeter 数据库测试参数化
1.JDBC Request 参数化 方法一.Jmeter 参数化,在 sql query 中使用变量 Jmeter 参数化,使用 csv 参数化 sql query 中使用 ${变量名} 引用 方法 ...
- 编译警告:warning: operation on ‘i’ may be undefined
dest[i++]=src[i]; 这行代码,编译时会遇到警告: warning: operation on ‘i’ may be undefined(对于i变量的操作,有可能是未定义的) 改成 de ...
- 06 ORM常用字段 关系字段 数据库优化查询
一.Django ORM 常用字段和参数 1.常用字段 models中所有的字段类型其实本质就那几种,整形varchar什么的,都没有实际的约束作用,虽然在models中没有任何限制作用,但是还是要分 ...
- 安装KubeSphere
1. KubeSphere 是什么 1.1. 官方解释 KubeSphere是一个分布式操作系统,提供以Kubernetes为核心的云原生堆栈,旨在成为第三方应用程序的即插即用架构,以促进其生态系统的 ...
- 使用 kind 快速搭建 kubernetes 环境
使用 kind 快速搭建 Kubernetes 环境 Intro kind(Kubernetes IN Docker) 是一个基于 docker 构建 Kubernetes 集群的工具,非常适合用来在 ...
- C. The Big Race
\(给出数n,a,b\) \(在[1,n]区间内随机选数,选出的数被a,b除后同余的概率\) \(这题的精度问题真的是烦炸了~\) \(设最小公倍数lcm=a*b/gcd(a,b)\) \(所以在区间 ...
- SpringBoot:整合Shiro
目录 1.Shiro简介 1.1.什么是Shiro? 1.2.有哪些功能 1.3.Shiro架构(外部) 1.4.Shiro架构(内部) 2.HelloWorld 3.Shiro整合Spring Bo ...