news 2026/10/31 10:42:29

【GATT】规范精讲[14]: 服务表的指纹——Database Hash 是怎么算出来的

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【GATT】规范精讲[14]: 服务表的指纹——Database Hash 是怎么算出来的

前面讲过 GATT Service 里有一个叫 Database Hash 的特征,值是 16 字节,客户端拿它当服务表的指纹。一旦指纹变了,就说明服务器的服务定义改了,客户端得重新发现。但这个指纹具体怎么算?哪些属性参与、哪些不参与?字节怎么拼?规范 用一个完整的示例把这件事讲透了。


目录

一、计算流程总览

二、拼接规则:哪些字段进 m

三、逐步拆解示例属性表

四、AES-CMAC 取摘要

五、空口:Database Hash 特征真实存在

六、工程启示:Hash 计算的边界条件

七、测验


它是 GATT 安全缓存机制的底层支撑。搞懂了 Hash 的计算,就能理解为什么 Robust Caching 能准确检测服务变更,为什么客户端敢缓存发现结果。


一、计算流程总览

Database Hash 的计算分三步:先把属性表按句柄升序排列,然后按规则挑出部分属性的部分字段拼接成一条变长消息 m,最后用 AES-CMAC 对 m 取 128 位摘要。

规范:

Table B.1 shows how the variable length data m for calculating the Database Hash is constru

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/31 10:40:46

Qt自定义委托实现定制输入的效果

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/31 10:40:11

ESP32参考方案优先级排序:从芯片型号到认证约束的工程决策法

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/31 10:39:39

IWR1642呼吸心跳数据集解析:从ADC原始数据到呼吸心率检测全流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/31 10:39:20

AI芯片全栈软件地图:用Agent拆解UMD、KMD与编译器边界

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/31 10:38:10

从准予到开源:理解软件许可与合规实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/31 10:36:44

基于ROS的手势控制机械臂:从MediaPipe感知到舵机执行的完整链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华