使用如下python代码来计算文件的crc32值:

from zlib import crc32
import os
import sysdef getCrc32(filename):with open(filename, 'rb') as f:return crc32(f.read())
checksum=getCrc32(sys.argv[1])
print 'crc:',(hex(checksum))

python代码就是简洁,但是问题来了,运算了几个文件的crc:
结果有正有负,
python test.py system.img
crc:-0x30267351
python test.py usedata.img
crc:0xcf2fd49
查看python相关文档,说这个库函数结果是从-232到232之间。

我用另一断c++代码同样计算crc32的值,代码如下:

#include<string>
#include<stdio.h>
#include<unistd.h>
#include<string.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <fcntl.h>
#include <sys/stat.h>
#ifdef TEST_CRC
#define BUFSIZE     1024*4
static const unsigned int crc_table[256] =
{0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,0x21B4F4B5, 0x56B3

python crc32()函数和C++计算crc32相关推荐

  1. oracle crc32函数,CSS_ORACLE中实现CRC32的计算函数,SOLARIS平台,声明:这是我07年的一个偶然 - phpStudy...

    ORACLE中实现CRC32的计算函数,SOLARIS平台 声明:这是我07年的一个偶然所得,借助了很多朋友和同事的帮助.希望能对在这个领域里面找寻的同行一些帮助. 首先用C在SOLARIS上编写一个 ...

  2. python的文件读写,序列化,复制/删除目录,压缩/解压缩/列出压缩文件目录,计算CRC32和MD5

    import json import os import shutil import pickle import zlib import binascii import hashlib import ...

  3. php crc32 作用,php的crc32函数使用时需要注意的问题(不然就是坑)

    前几天写了一个分表程序,用的hash算法是crc32.分表的函数如下: 复制代码 代码如下: function _getHash($username) { $hash = crc32($usernam ...

  4. php crc32 作用,PHP crc32()函数讲解

    PHP crc32()函数讲解 PHP crc32() 函数 实例 输出 crc32() 的结果: $str = crc32("Hello World!"); printf(&qu ...

  5. python自定义函数实例计算1-n的偶偶数和_python用户输入一个整数N,计算并输出1到N相加的和,请问这个程序错在哪里了?...

    展开全部 第一个错误的地方是for i in str(n),input()输入的是636f707962616964757a686964616f31333431356661整型,循环增加应该用for i ...

  6. boost计算随机数和计算crc32简单示例 - jwybobo2007的专栏 - 博客频道 - CSDN.NET

    boost计算随机数和计算crc32简单示例 - jwybobo2007的专栏 - 博客频道 - CSDN.NET boost::crc_32_type crc32; crc32.process_by ...

  7. python万年历函数输入某一年某一月_Python自定义函数计算给定日期是该年第几天的方法示例...

    本文实例讲述了python自定义函数计算给定日期是该年第几天的方法.分享给大家供大家参考,具体如下: 写一个函数,计算给定日期是该年的第几天. 满足闰年的条件: 闰年是公历中的名词,能被4整除但不能被 ...

  8. dart和C语言计算CRC32结果不同

    dart和C语言计算CRC32的疑问 问题的产生 C语言实现 dart实现 问题解决或者疑问 问题的产生 近期做了一个ota升级的项目,最后的固件进行了CRC32校验,我使用了app(android) ...

  9. chatgpt赋能python:Python开立方函数math:让数学计算更加简单

    Python开立方函数math:让数学计算更加简单 Python作为一种高级编程语言,提供了丰富的数学计算功能,其中就包括了开立方函数math.本篇文章将详细介绍math开立方函数在Python中的使 ...

最新文章

  1. 阿里云PyODPS 0.7.18发布,针对聚合函数进行优化同时新增对Python 3.7支持
  2. osgi学习之---扩展点理解
  3. OpenStack——基于EXSI安装OpenStack解决方案
  4. opencv进阶学习笔记13:图像形态学操作大全(膨胀,腐蚀,开闭,黑帽,顶帽,梯度)python版
  5. 【Auto.js】使用Pro 8.0 API优化图色或无障碍的耗电问题
  6. 一个程序员年近四十岁的一些胡思乱想
  7. Proteus:51仿真入门
  8. c语言指针动态分配数组长度,C语言安全之数组长度与指针实例解析
  9. Centos python2.6.6升级2.7.14
  10. 集成测试之自顶向下、自底向上、三明治集成
  11. Python汉诺塔递归算法实现
  12. 工商银行计算机社招笔试题,2019中国工商银行招聘面试试题及答案(一)
  13. python怎么建立索引_python建立索引
  14. 构建分布式系统——技术考量
  15. 2017.11.06 ~ 11.10 NOIP八连测滚粗记
  16. 想要报考华为技术认证,你一定要了解这些
  17. 抖音:对比去年6月蓝V账号数量增长44.6倍 投稿量增长211倍
  18. 免费的ppt模板百度网盘资源
  19. 磁盘分区、格式化及 LVM 管理
  20. android分区卸载命令行,Android ADB命令 将apk安装到系统应用及删除方法

热门文章

  1. 2022年上半年软件设计师考试上午真题(专业解析+参考答案)
  2. 主动学习(Active Learning)系列介绍(一)基本概念及应用场景
  3. 影响射频传输距离因数
  4. 看门狗Watchdog
  5. 另类的异或_有道难题_2010网易编程挑战赛
  6. 给大家分享一本书,JavaScript权威指南
  7. 51单片机——USART全双工模式通讯-波特率可选1.3版本
  8. 高考什么人适合学计算机专业好吗,哪些人不适合学计算机 计算机哪个专业最吃香...
  9. API 获取SKU详细信息和物流信息
  10. Failed to read candidate component class