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) 最长公 ...
随机推荐
- c语言-----劫持自己02
在上一节 c语言-----劫持原理01 已经叙述了劫持原理,下边正式进入劫持实战 1. 需要实现的功能 在c语言中 system("notepad") 可以打开一个记事本 syst ...
- 【shell】shell脚本入门
1. 前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具,Linux/UNIX系统的底层及基础应用软件的核心大部分涉及Shell脚 ...
- Windows 10 MSDN官方原版ISO镜像(简体中文)下载
http://www.heu8.com/2800.html 硬件要求如下:处理器:1 GHz 或更快的处理器或 SoC RAM:1 GB(32 位)或 2 GB(64 位) 硬盘空间:16 GB(32 ...
- ACM一年记,总结报告(希望自己可以走得很远)
一. 知识点梳理 (一) 先从工具STL说起: 容器学习了:stack,queue,priority_queue,set/multiset,map/multimap,vector. 1.stack: ...
- HDU - 1253 胜利大逃亡 (搜索)
Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会. 魔王住在一个城堡里,城堡是一个A*B*C的立方体,可以被表示成A个B*C的矩阵,刚开始Ignatius被关在(0 ...
- 07 模型层 orm相关查询 F查询Q查询 django开启事务
一.Django终端打印SQL语句 如果你想知道你对数据库进行操作时,Django内部到底是怎么执行它的sql语句时可以加下面的配置来查看 在Django项目的settings.py文件中,在最后复制 ...
- python——import日常学习记录
import为导入包,有两种方法,一个是import,一个是from ** import ** import后紧跟着的是个模块,一般是一个.py文件下的类名: from *** import *** ...
- requests抓取数据示例
1:获取豆瓣电影名称及评分 # 抓取豆瓣电影名称及评分 url="https://movie.douban.com/j/search_subjects" start=input(& ...
- redis 6.0下redis-cluster-proxy代理尝试
伴随着Redis6.0的发布,作为最令人怦然心动的特性之一,Redis官方同时推出Redis集群的proxy了:redis-cluster-proxy,https://github.com/Redis ...
- mysql查询表内所有字段名和备注
select distinct column_name as 字段名,column_comment as 字段备注 from information_schema.columns where tabl ...