异或数据包中的所有数据

2024-04-18

我需要一个可以根据用户输入计算校验和的小程序。

不幸的是,我对校验和的了解只是它是数据包中所有数据的异或。

我试图在网上搜索一个例子,但没有运气。

我知道我是否有一个字符串:41,4D,02,41,21,04,02,02,00,00,00,00,00,00,00,00,00,00,00,00,00, 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

这应该会产生 6A 的校验和。

希望有人可以帮助我。如果有人有一个用 Python 3 编写的示例,也可以为我工作


如果我正确理解“异或数据包中的所有数据”,那么你应该这样做:

#include <iostream>
#include <vector>

using namespace std;

int main() 
{
  unsigned int data;
  vector< unsigned int > alldata;

  cout << "Enter a byte (in hex format, ie: 3A ) anything else print the checksum of previous input: ";

  while ( true )
  {
    cin >> hex >> data;

    if ( cin.fail() || cin.bad() )
        break;

    alldata.push_back( data );
    cout << "Enter a byte: ";

  }

  unsigned int crc = 0;

  for ( int i = 0; i < alldata.size(); i++ )
      crc ^= alldata[ i ];

  cout << endl << "The checksum is: " << hex << uppercase << crc << endl;

  system( "pause" );

  return 0;
}

这个想法是建立一个初始化为的变量0然后将数据包的所有元素与它进行异或,同时将每个步骤的操作结果存储在同一变量中。

EDIT:编辑答案以提供完整的工作示例(远非完美,但有效)。 用法:按要求输入字节,输入完毕后,输入无效的内容,例如q(不能是十六进制数)。您将得到打印的校验和。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

异或数据包中的所有数据 的相关文章

  • 在 Web 浏览器中禁用 F5 [重复]

    这个问题在这里已经有答案了 可能的重复 禁用浏览器的后退按钮 https stackoverflow com questions 961188 disable browsers back button 如何禁用浏览器上的 F5 刷新 htt
  • 从 Invoke 方法获取 RETURN

    我正在尝试从另一个线程上的列表框项目中读取值 我尝试创建一种新方法来运行调用命令 我可以设法将命令发送到列表框 例如通过调用方法添加 但我似乎无法得到响应 我似乎无法获取该项目的值 我尝试了几种方法 一旦我将它从空变为字符串 事情就开始变得
  • .pdbs 会减慢发布应用程序的速度吗?

    如果 dll 中包含 pdb 程序调试 文件 则行号将出现在引发的任何异常的堆栈跟踪中 这会影响应用程序的性能吗 这个问题与发布与调试 即优化 无关 这是关于拥有 pdb 文件的性能影响 每次抛出异常时都会读取 pdb 文件吗 加载程序集时
  • 为什么在 C++ 中声明枚举时使用 typedef?

    我已经很多年没有写过任何 C 了 现在我正试图重新开始 然后我遇到了这个并考虑放弃 typedef enum TokenType blah1 0x00000000 blah2 0X01000000 blah3 0X02000000 Toke
  • 在 Mac OS X 上安装 libxml2 时出现问题

    我正在尝试在我的 Mac 操作系统 10 6 4 上安装 libxml2 我实际上正在尝试在 Python 中运行 Scrapy 脚本 这需要我安装 Twisted Zope 现在还需要安装 libxml2 我已经下载了最新版本 2 7 7
  • 为什么 C# 中同一类型的隐式和显式运算符不能共存? [复制]

    这个问题在这里已经有答案了 为什么同一类中两个相同类型的运算符 显式和隐式 不能共存 假设我有以下内容 public class Fahrenheit public float Degrees get set public Fahrenhe
  • Nhibernate:连接表并从其他表获取单列

    我有以下表格 create table Users Id uniqueidentifier primary key InfoId uniqueidentifier not null unique Password nvarchar 255
  • PrivateObject 找不到属性

    我的结构基本上如下所示 abstract class A protected string Identificator get set private void DoSomething DoSomethingSpecific protect
  • 如何设置消息队列的所有者?

    System Messaging MessageQueue 类不提供设置队列所有权的方法 如何以编程方式设置 MSMQ 消息队列的所有者 简短的答案是 p invoke 对 windows api 函数的调用MQSetQueueSecuri
  • 如何使用 C# 查询远程 MS ACCESS .mdb 数据库

    我正在尝试使用 C 查询 mote MS ACCESS 数据库 mdb 文件 将文件复制到本地计算机时可以成功查询它 我只想远程放置文件 所以我的客户端程序不包含原始数据 static string m path http www xyz
  • 如何在 EF Core 2.1 中定义外键关系

    我的 DAL 使用 EF Core 2 1 这就是我的模型的样子 一名用户只能拥有一种角色 Role entity kind of master public class Role public int RoleId get set pub
  • 在 mvc4 中创建通用 mvc 视图

    我以前也提过类似的问题 没有得到答案 如何创建一个通用的 mvc4 视图 该视图可以显示传递给它的模型列表或单个模型 模型可以是个人 组织或团体 无论传递给它的是什么 如果您正在寻找类似的东西 model MyViewModel
  • WPF DataGrid - 在每行末尾添加按钮

    我想在数据网格的每一行的末尾添加一个按钮 我找到了以下 xaml 但它将按钮添加到开头 有人知道如何在所有数据绑定列之后添加它吗 这会将按钮添加到开头而不是末尾
  • 使用 Unity 在 C# 中发送 http 请求

    如何使用 Unity 在 C 中发送 HTTP GET 和 POST 请求 我想要的是 在post请求中发送json数据 我使用Unity序列化器 所以不需要 新的 我只想在发布数据中传递一个字符串并且能够 将 ContentType 设置
  • 在 Qt 中播放通知(频率 x)声音 - 最简单的方法?

    Qt 5 1 或更高版本 我需要播放频率为 x 的通知声音 n 毫秒 如果我能像这样组合音调那就太好了 1000Hz 持续 2 秒 然后 3000Hz 持续 1 秒 最简单的方法是使用文件 WAV MP3 例如如此处所述 如何用Qt播放声音
  • 当 Verb="runas" 时设置 ProcessStartInfo.EnvironmentVariables

    我正在开发一个 C 应用程序 我需要创建变量并将其传递给新进程 我正在使用ProcessStartInfo EnvironmentVariables 新进程必须提升运行 因此我使用 Verb runas var startInfo new
  • 在二进制数据文件的标头中放入什么

    我有一个模拟 可以读取我们创建的大型二进制数据文件 10 到 100 GB 出于速度原因 我们使用二进制 这些文件依赖于系统 是从我们运行的每个系统上的文本文件转换而来的 所以我不关心可移植性 当前的文件是 POD 结构的许多实例 使用 f
  • 解释这段代码的工作原理;子进程如何返回值以及在哪里返回值?

    我不明白子进程如何返回该值以及返回给谁 输出为 6 7 问题来源 http www cs utexas edu mwalfish classes s11 cs372h hw sol1 html http www cs utexas edu
  • 使用 boost 异步发送和接收自定义数据包?

    我正在尝试使用 boost 异步发送和接收自定义数据包 根据我当前的实现 我有一些问题 tcpclient cpp include tcpclient h include
  • 如何在c中断言两个类型相等?

    在 C 中如何断言两种类型相等 在 C 中 我会使用 std is same 但搜索 StackOverflow 和其他地方似乎只能给出 C 和 C 的结果 在C中没有办法做到这一点吗 请注意 这不是询问变量是否具有某种类型 而是询问两个类

随机推荐

  • Tomcat 10 上的 Spring Boot 2.x 问题

    我试图在 Tomcat Docker 容器中部署一个 war 文件 但总是得到404 Not Found页 我通过以下方式创建了 Spring Boot 项目Intellij 教程 https www jetbrains com help
  • javascript 在多个链式异步函数上等待

    假设我有以下内容 const a new A await a getB action A prototype getB is async也B prototype action 如果我尝试等待函数的链接 则会收到错误 TypeError a
  • SoapExtension 未加载

    我正在尝试写一个肥皂扩展 但框架没有加载它 我已经添加到 web config
  • 不同的Android SDK版本使用不同的图标

    我的 Android 菜单有图标 在 Android 3 上 我使用黑色 ActionBar 因此图标为白色 然而 在 Android 2 x 上 菜单本质上是白色的 这意味着图标几乎不可见 如何为不同版本使用不同的菜单图标 我假设我可以使
  • 我们如何重命名MySQL 5.0中的数据库名称[重复]

    这个问题在这里已经有答案了 我在用MySQL 5 0 我创建了一个名为accounts 但现在我想将数据库名称更改为FinanceAccounts 如何更改数据库名称MySQL 5 0 我认为只有一种方法 除了重命名 MySQL datad
  • 安全移动 Microsoft SDK 文件夹

    我的硬盘上有一个文件夹 C Program Files Microsoft SDKs 我想知道将其移动到外部驱动器是否安全 Visual Studio 或任何其他工具是否依赖于此特定文件夹 注册表中有相当多的条目 至少在我的注册表中 指向该
  • Cython指定固定长度字符串的numpy数组

    我有一个函数 我想使用 Cython 来处理大量固定长度的字符串 对于标准 cython 函数 我可以像这样声明数组的类型 cpdef double g double in arr cdef double out arr np zeros
  • 对话框的对象位置 Libgdx

    我有一个对话框 Dialog dialog new Dialog style dialog setSize 400 500 dialog setPosition Gdx graphics getWidth 2 200 Gdx graphic
  • 使用自动 bash 脚本检查 FTP 中是否存在文件

    我想自动化执行以下操作的批处理作业 检查我的file txt存在于FTP服务器中 我将其重命名为file trt 检查我的file txt and file trt存在 如果存在我发送电子邮件 我运行另一个脚本 最后我删除file trt
  • Ruby+Anemone Web Crawler:正则表达式匹配以一系列数字结尾的 URL

    假设我正在尝试抓取一个网站并跳过一个像这样结束的页面 我目前正在 Ruby 中使用 Anemone gem 来构建爬虫 我正在使用skip links like方法 但我的模式似乎永远不匹配 我试图使其尽可能通用 因此它不依赖于子页面 而只
  • 为什么这个 Sql 语句(有 2 个表连接)需要 5 分钟才能完成?

    更新 下面添加了 3 个更新 以下sql语句需要5分钟才能完成 我只是 不 得到 它 第一个表有 6861534 行 第二个表少了一点 第三个表 包含 4 个地理字段 与第一个表相同 Those GEOGRAPHY第三个表中的字段 它们不应
  • 错误域=FIRFirestoreErrorDomain 代码=7“权限缺失或不足。”

    所以我有以下代码从 firestore 检索文档 该函数在我的 viewDidLoad 中调用 func loadAnnotations db collection jumpSpotAnnotations getDocuments quer
  • 将静态库链接到共享库

    我正在尝试在 Ubuntu Linux 上使用 g 5 4 0 创建共享库 我已经构建了 Poco C 库的静态库 a 文件 我想将它们静态链接到我的共享库中 但它不起作用 我已将以下字符串添加到我的构建脚本中 Wl whole archi
  • 如何使用c#读取EPS的属性或颜色信息?

    我的要求是读取另外50个EPS文件并导出EPS的属性 颜色模式 这可能吗 颜色模式有灰度 RGB 和 CMYK 到目前为止 我尝试使用 BitmapImage 来读取 EPS 但我没有运气 BitmapImage 不读取 EPS 因为它是矢
  • ANDROID:如何将视频文件下载到 SD 卡?

    我在网站上有一个 MP4 格式的视频文件 我希望用户能够通过单击链接将该视频下载到他们的 SD 卡上 是否有捷径可寻 我目前有这段代码 但它不起作用 不知道我做错了什么 谢谢你的帮助 import java io BufferedInput
  • Titan 加载弹性搜索问题

    我使用以下代码来加载泰坦 TitanFactory Builder config TitanFactory build config set storage backend berkeleyje config set storage dir
  • 指针的大小以及该大小是否取决于体系结构

    好吧 抱歉这个问题 更像是一个一般文化问题 尚未找到准确的答案 如果我有类似的东西 char Field or void Field or double pointers 指针的大小是一样的吗 据我记得大学时它是 4 个字节 但是 根据CP
  • 类型错误 - Python 中的类

    我是 Python 的初学者 刚刚开始掌握课程 我确信这可能是非常基本的东西 但为什么这段代码是这样的 class Television def init self print Welcome your TV self volume 10
  • 多个函数聚合的结果不可用于进一步计算。为什么?

    我对 R 中聚合函数的结果有疑问 我的目标是从数据集中选择某些鸟类并计算密度 调查区域内观察到的个体的数量 为此 我获取了主数据文件的子集 然后在区域上进行聚合 计算 平均值和个体数量 由向量长度表示 然后我想用计算出的平均面积和个体数量来
  • 异或数据包中的所有数据

    我需要一个可以根据用户输入计算校验和的小程序 不幸的是 我对校验和的了解只是它是数据包中所有数据的异或 我试图在网上搜索一个例子 但没有运气 我知道我是否有一个字符串 41 4D 02 41 21 04 02 02 00 00 00 00