如何在FIX中手动计算CheckSum?

2023-12-27

我有一个FixMessage我想手动计算校验和。

8=FIX.4.2|9=49|35=5|34=1|49=ARCA|52=20150916-04:14:05.306|56=TW|10=157|

这里的体长是这样计算的:

8=FIX.4.2|9=49|35=5|34=1|49=ARCA|52=20150916-04:14:05.306|56=TW|10=157|
0        + 0  + 5  + 5  + 8     + 26                     + 5   + 0  = 49(correct)

校验和为 157 (10=157)。在这种情况下如何计算呢?


您需要对消息中的每个字节求和,但不包括校验和字段。然后将此数字模 256,并将其打印为带有前导零的 3 个字符的数字(例如 checksum=13 将变为 013)。

来自 FIX wiki 的链接:修复校验和 https://en.wikipedia.org/wiki/Financial_Information_eXchange#Trailer:_Checksum

C 中的示例实现,取自奥尼克斯网站 http://www.onixs.biz/fix-dictionary/4.2/app_b.html:

char *GenerateCheckSum( char *buf, long bufLen )
{
    static char tmpBuf[ 4 ];
    long idx;
    unsigned int cks;

    for( idx = 0L, cks = 0; idx < bufLen; cks += (unsigned int)buf[ idx++ ] );
    sprintf( tmpBuf, "%03d", (unsigned int)( cks % 256 ) );
    return( tmpBuf );   
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在FIX中手动计算CheckSum? 的相关文章

随机推荐

  • SignalR .NET 客户端:无法从 Web 应用程序应用程序域内启动连接

    我将尝试长话短说 我想从应用程序中的核心程序集调用 Web 应用程序中集线器上的方法 原因是我有许多应用程序最终都会调用核心并触发事件 想想移动网络 管理站点 api 等 我想使用 SignalR 在事件发生时通知桌面站点的用户 为了解决这
  • Java toString() 使用反射?

    前几天 我正在为 Java 中的一个类编写一个 toString 方法 方法是将类的每个元素手动写入一个字符串 我突然想到 使用反射可能可以创建一个可以工作的通用 toString 方法所有课程 IE 它会计算出字段名称和值并将它们发送到字
  • AAD 令牌:为什么 aud 有时显示应用程序 ID,有时显示应用程序 url?

    我在我的网站上使用 adal js 进行 AAD 身份验证 解码 AAD 令牌后 aud 看起来有所不同 它是 AAD 中的应用程序 api 但是 当我尝试了解 AAD 在不同场景中的工作原理时 几乎所有 AAD 令牌的文档示例都将 aud
  • 454 4.7.0 Spring Boot 2.1.4.RELEASE 中登录尝试次数过多

    我使用 Spring Boot 2 1 4 RELEASE 应用程序发送电子邮件 并具有这些属性 spring mail host smtp gmail com email protected cdn cgi l email protect
  • 了解 Shiny Server 上托管的 R Shiny 应用程序的可扩展性

    我正在为一个项目构建一系列交互式闪亮网络应用程序 我正在考虑将其转变为一家公司 我的背景是数据科学 我在网络应用程序 服务器方面没有很多经验 但这些是我在项目中需要考虑的重要方面 我目前有一个安装了 ShinyServer 免费 开源 的
  • Angular 2关注点击/事件后的第一个无效输入

    我有一个奇怪的要求 希望得到一些帮助 我需要关注单击按钮 而不是提交 后第一个发现的表单无效输入 该表单相当大 因此屏幕需要滚动到第一个无效输入 这个 AngularJS 答案正是我所需要的 但不知道这样的指令是否适合 Angular 2
  • Javascript函数改变变量范围

    我试图在匿名函数之外声明一个函数 但仍然可以访问所有匿名函数变量 下面演示了我正在谈论的内容 我只需要摆脱 eval 即可 Used to determine where the variable is being stored var v
  • 如何从 Kubernetes 获取部署日志?

    我正在 Kubernetes 集群 v1 15 2 中创建 InfluxDB 部署 这是我的 yaml 文件 apiVersion extensions v1beta1 kind Deployment metadata name monit
  • 字典的分割字符串值

    我有这本词典 1 1 2 2 2 3 3 2 3 我想将每个键的值分离到单个元素的列表中 所以我希望它看起来像这样 1 1 2 2 2 3 使用字典理解 gt gt gt d 1 1 2 2 2 3 3 2 3 4 4 3 1 5 3 4
  • null / 空 json 如何检查它而不输出?

    我有一个 json 编码的数据集 可以通过 ajax 检索 我试图检索的一些数据点将返回空或空 但是 我不希望将这些 null 或空显示给最终用户 或传递给其他函数 我现在正在做的是检查 if this cityState null do
  • 更改表列以接受更多字符

    Microsoft SQL Server 2008 更改现有列以允许更多字符的命令是什么 如果我只是扩展该列 这会对该列中以前的任何条目产生影响吗 我有一个 URL 列 需要添加大约 100 个字符 ALTER TABLE table AL
  • if 条件的更好算法

    我有一个代码 其中包含 bool fn all the following are boolean functions return isTrue isMsgReceived isMsgSent 问题是每个返回布尔函数本身都很长并且需要大量
  • C# Streamwriter 帮助

    嘿伙计们 我需要一点帮助 我需要我的 Streamwriter 正确显示从 Directory Getfiles 调用中获得的文件名 string lines listBox1 Items ToString string sourcefol
  • Android - 尝试在空对象引用上调用虚拟方法“void android.view.View.getBoundsOnScreen(android.graphics.Rect)”

    我有一个简单的地址表格 如下所示 Java public class NewAddressActivity extends AppCompatActivity private TextInputLayout mStreetLayout pr
  • 使用事务范围和查询

    我正在将实体框架与 Oracle DB 一起使用 我尝试使用事务范围 因为我想要回滚选项 using TransactionScope ts new TransactionScope 问题是 当我尝试在 using 语句内查询时 会引发异常
  • 本地安装RODBC时如何指定include和lib目录?

    我正在尝试使用命令 R CMD INSTALL l my local path RODBC tar gz 安装 RODBC 但它找不到 sql h 和 sqlext h 如何将 include 和 lib 路径传递给此命令 我最近在尝试在
  • MVC 6 更改返回内容类型

    我似乎无法在新的 Asp net MVC 6 中更改控制器方法的返回内容类型 我尝试了各种变体 Context Response Headers Add Content type text x vcard 在过去的 WebApi 时代 我可
  • 如何在Azure数据工厂中使用formatDateTime?

    我想将管道触发时间格式化为以下格式 10 Mar 2021 08 31 59 AM 这是我正在使用的代码 formatDateTime pipeline TriggerTime DD MON YYYY HH MI SS AM PM 然而 日
  • 使用 Windows.Forms.Cursor 作为 WPF 光标?

    我有一个 System Windows Forms Cursor 想将其分配给 WPF 的 image Cursor 属性 该属性恰好是 System Windows Input Cursor 类型 这里的约束是 前一个 Cursor 类型
  • 如何在FIX中手动计算CheckSum?

    我有一个FixMessage我想手动计算校验和 8 FIX 4 2 9 49 35 5 34 1 49 ARCA 52 20150916 04 14 05 306 56 TW 10 157 这里的体长是这样计算的 8 FIX 4 2 9 4