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) 最长公 ...
随机推荐
- 【集群实战】Rsync数据同步工具
1. Rsync介绍 1.1 什么是Rsync? Rsync是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于unix/linux/windows ...
- MySQL根据业务场景归纳常用SQL语句
素材表数据:user[{"id":1,"name":"x"},{"id":2,"name":&quo ...
- 关于SpringBoot集成myBatis时,mapper接口注入失败的问题
问题描述: 在Spring Boot集成myBatis时,发现启动时,mapper接口一直注入失败. 现象如下: VehicleDAO就是需要的mapper对象,一个简单的接口. 已经在applica ...
- 图论--2-SAT--HDOJ/HDU 1824 Let's go home
Problem Description 小时候,乡愁是一枚小小的邮票,我在这头,母亲在那头. -- 余光中 集训是辛苦的,道路是坎坷的,休息还是必须的. ...
- MySQL高级(十三)--- 表锁
前言:锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算机资源(如CPU.RAM.I/O等)的争用外,数据也是一种供许多用户共享的资源.如何保证数据并发访问的一致性.有效性是 ...
- Java实现功能简单的学生管理系统(附带源代码)
这几天Java学了点新的知识,打算要用这些知识做一个比较简单的管理系统,实战一下子,代码中的功能简洁,可能不多,但是作为一个练手来了解一个项目是怎么样一点一点思考的还是不错的 一.代码中要实现的功能 ...
- linux多线程入门
linux下的多线程通过pthread实现,下面给个简单的例子. #include <stdio.h> #include <stdlib.h> #include <pth ...
- C#对象初始化器
1.对象初始化器 Student objStu2 = new Student() { StudentId=, //属性之间使用","分隔 StudentName="小明& ...
- Java——多线程超详细总结
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 一.线程概述 几乎所 ...
- 高精度封装Bignum
还没有写完,目前只实现了加,乘,且不能作用于负数 \(update\ in 20.4.8 添加了高精除低精ddiv函数,比较大小comp函数\) #include <bits/stdc++.h& ...