# 数字城市一卡通（City Union）

#### 适用范围

根据 GB/T 31778-2015 《数字城市一卡通互联互通 通用技术要求》的表述，数字城市一卡通适用于互联互通城市间综合交通（公共汽车、地铁、轻轨、轮渡、出租车、公共自行车）、公用事业缴费、风景园林、社区/园区应用、停车场管理等领域应用。

目前，该标准覆盖的城市和项目为：

> 上海  
> 天津  
> 澳门（特别行政区）  
> 浙江：宁波、绍兴、湖州、台州、舟山、长兴、金华、温州、义乌、嘉兴  
> 江苏：常熟、昆山、淮安、江阴、无锡、南通、泰州、宜兴、太仓、盐城  
> 甘肃：兰州、白银、华亭  
> 江西：南昌、九江、鹰潭、赣州、上饶  
> 湖南：永州、株洲、 湘潭、望城  
> 辽宁：葫芦岛、锦州、抚顺、沈阳、营口、兴城、铁岭、本溪  
> 四川：江油、自贡、西昌、阆中  
> 福建：福州、龙岩、泉州、莆田、晋江  
> 海南：三亚  
> 广东：湛江、珠海  
> 吉林：辽源、松原  
> 新疆：克拉玛依  
> 陕西：榆林、渭南、咸阳、杨凌  
> 河南：驻马店、郑州、南阳、漯河、荥阳、新郑、平顶山  
> 贵州：凯里、遵义、都匀  
> 云南：昆明、大理  
> 湖北：十堰、潜江  
> 安徽：淮南、阜阳  
> 山东：临沂  
> 河北：邯郸
> 
> 互联互通项目：招商通、全国景区一卡通、无锡灵山、社区有我、北京未来科学城、天津海河游轮

需要指出的是， 以上列出的城市/项目，仅表示该城市/项目使用了由中华人民共和国住房和城乡建设部生成的密钥，并不意味着所发行的卡片可以互通。例如，上海发行的紫色卡，虽然采用了该标准，但仅与江苏、浙江的部分城市互通。

#### 文件目录

 互联互通应用的基本文件目录应至少包括下图中所有文件：

<div drawio-diagram="5"><img src="https://wiki.nfc.im/uploads/images/drawio/2018-04-Apr/Drawing-DANG-Fan-1523430057.png" alt=""/></div>

注意：由于标准发布于2015年，对于早期参与到该标准的城市，卡内数据可能不遵守这个规范，但可以保证的是，0x15和0x18文件总是存在，其中0x18里包含了所有类型的交易记录。

#### 密钥类型

<table id="bkmrk-%E5%AF%86%E9%92%A5%E5%90%8D%E7%A7%B0-%E5%AF%86%E9%92%A5%E4"><tbody><tr><td class="align-center">密钥名称</td><td class="align-center">密钥代码</td><td class="align-center">密钥标识</td><td class="align-center">分散级别</td><td class="align-center">密钥作用</td></tr><tr><td>应用主控子密钥</td><td class="align-center">DACK</td><td class="align-center">00</td><td class="align-center">1</td><td>控制应用区内结构添加和删除</td></tr><tr><td>应用锁定子密钥</td><td class="align-center">-</td><td class="align-center">-</td><td class="align-center">2</td><td>应用锁定</td></tr><tr><td>应用解锁子密钥</td><td class="align-center">-</td><td class="align-center">-</td><td class="align-center">1</td><td>应用解锁</td></tr><tr><td>文件更新子密钥</td><td class="align-center">-</td><td class="align-center">-</td><td class="align-center">1</td><td>应用区内有关信息文件的更新保护</td></tr><tr><td>复合消费维护密钥</td><td class="align-center">DCPK</td><td class="align-center">01</td><td class="align-center">1</td><td>复合消费文件维护</td></tr><tr><td>PIN解锁密钥</td><td class="align-center">DPUK</td><td class="align-center">00</td><td class="align-center">2</td><td>解锁PIN</td></tr><tr><td>PIN重装密钥</td><td class="align-center">DPLK</td><td class="align-center">00</td><td class="align-center">2</td><td>重装PIN</td></tr><tr><td>消费子密钥</td><td class="align-center">DPK</td><td class="align-center">01～0A</td><td class="align-center">2</td><td>共10组密钥</td></tr><tr><td>圈存子密钥</td><td class="align-center">DLK</td><td class="align-center">01～02</td><td class="align-center">1</td><td>共2组密钥</td></tr><tr><td>TAC子密钥</td><td class="align-center">DTK</td><td class="align-center">00</td><td class="align-center">2</td><td>消费交易验证</td></tr></tbody></table>

其中，应用锁定子密钥、消费子密钥、TAC子密钥是互通的；其他密钥均由发卡方自行管理。

#### 文件结构

##### 公共应用基本信息文件

<table id="bkmrk-sfi-0x15%C2%A0-%E6%96%87%E4%BB%B6%E7%B1%BB"><tbody><tr><td style="width: 79px;">**SFI**</td><td colspan="4" style="width: 550px;">0x15 </td></tr><tr><td style="width: 79px;">**文件类型**</td><td colspan="4" style="width: 550px;">二进制文件 </td></tr><tr><td style="width: 79px;">**文件大小**</td><td colspan="4" style="width: 550px;">0x1E </td></tr><tr><td style="width: 79px;">**权限**</td><td colspan="2" style="width: 273px;">读=自由</td><td colspan="2" style="width: 277px;"> 写=SM </td></tr><tr><td style="width: 79px;">**字节**</td><td style="width: 225px;">**数据元**</td><td style="width: 48px;">**长度**</td><td style="width: 52px;">**格式**</td><td style="width: 225px;">**说明**</td></tr><tr><td style="width: 79px;">01～02</td><td style="width: 225px;">发卡方代码</td><td style="width: 48px;">2</td><td style="width: 52px;">BCD</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">03～04</td><td style="width: 225px;">城市/项目代码</td><td style="width: 48px;">2</td><td style="width: 52px;">HEX</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">05</td><td style="width: 225px;">多算法支持</td><td style="width: 48px;">1</td><td style="width: 52px;">BCD</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">06</td><td style="width: 225px;">行业代码</td><td style="width: 48px;">1</td><td style="width: 52px;">BCD</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">07～08</td><td style="width: 225px;">预留</td><td style="width: 48px;">2</td><td style="width: 52px;">HEX</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">09</td><td style="width: 225px;">互联互通启用标识</td><td style="width: 48px;">1</td><td style="width: 52px;">HEX</td><td style="width: 225px;">0x00为未启用，非0x00为启用</td></tr><tr><td style="width: 79px;">10</td><td style="width: 225px;">应用版本</td><td style="width: 48px;">1</td><td style="width: 52px;">HEX</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">11～12</td><td style="width: 225px;">互联互通标识</td><td style="width: 48px;">2</td><td style="width: 52px;">HEX</td><td style="width: 225px;">同城市/项目代码</td></tr><tr><td style="width: 79px;">13～20</td><td style="width: 225px;">用户卡应用序列号</td><td style="width: 48px;">8</td><td style="width: 52px;">HEX</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">21～24</td><td style="width: 225px;">应用生效日期（YYYYMMDD）</td><td style="width: 48px;">4</td><td style="width: 52px;">BCD</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">25～28</td><td style="width: 225px;">应用失效日期（YYYYMMDD）</td><td style="width: 48px;">4</td><td style="width: 52px;">BCD</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">29～30</td><td style="width: 225px;">预留</td><td style="width: 48px;">2</td><td style="width: 52px;">HEX</td><td style="width: 225px;"> </td></tr></tbody></table>

##### 复合交易记录文件

<table id="bkmrk-sfi-0x17-%E6%96%87%E4%BB%B6%E7%B1%BB%E5%9E" style="width: 735px;"><tbody><tr><td colspan="2" style="width: 162px;">**SFI**</td><td colspan="4" style="width: 573px;">0x17</td></tr><tr><td colspan="2" style="width: 162px;">**文件类型**</td><td colspan="4" style="width: 573px;">变长记录文件 </td></tr><tr><td colspan="2" style="width: 162px;">**文件大小**</td><td colspan="4" style="width: 573px;">0xA0 </td></tr><tr><td colspan="2" style="width: 162px;">**权限**</td><td colspan="2" style="width: 283px;">读=自由</td><td colspan="2" style="width: 290px;"> 写=SM/复合交易</td></tr><tr><td style="width: 79px;">**记录标识**</td><td style="width: 83px;">**字节**</td><td style="width: 273px;">**数据元**</td><td style="width: 10px;">**长度**</td><td style="width: 10px;">**格式**</td><td style="width: 280px;">**说明**</td></tr><tr><td class="align-center" rowspan="4" style="width: 79px; vertical-align: middle;">0x09</td><td style="width: 83px;">01</td><td style="width: 273px;">0x09</td><td style="width: 10px;">1</td><td style="width: 10px;">HEX</td><td style="width: 280px;"> </td></tr><tr><td style="width: 83px;">02</td><td style="width: 273px;">复合消费数据长度</td><td style="width: 10px;">1</td><td style="width: 10px;">HEX</td><td style="width: 280px;"> </td></tr><tr><td style="width: 83px;">03</td><td style="width: 273px;">复合消费锁定标识</td><td style="width: 10px;">1</td><td style="width: 10px;">HEX</td><td style="width: 280px;">0x00表示允许，非0x00表示禁止</td></tr><tr><td style="width: 83px;">04~48</td><td style="width: 273px;">应用方自定义</td><td style="width: 10px;">45</td><td style="width: 10px;">自定义</td><td style="width: 280px;"> </td></tr></tbody></table>

##### 电子钱包本地消费交易明细记录文件

<table id="bkmrk-sfi-0x18-%E6%96%87%E4%BB%B6%E7%B1%BB%E5%9E"><tbody><tr><td style="width: 79px;">**SFI**</td><td colspan="4" style="width: 550px;">0x18</td></tr><tr><td style="width: 79px;">**文件类型**</td><td colspan="4" style="width: 550px;">循环记录文件</td></tr><tr><td style="width: 79px;">**记录长度**</td><td colspan="4" style="width: 550px;">0x17</td></tr><tr><td style="width: 79px;">**权限**</td><td colspan="2" style="width: 273px;">读=自由</td><td colspan="2" style="width: 277px;"> 写=N/A</td></tr><tr><td style="width: 79px;">**字节**</td><td style="width: 225px;">**数据元**</td><td style="width: 48px;">**长度**</td><td style="width: 52px;">**格式**</td><td style="width: 225px;">**说明**</td></tr><tr><td style="width: 79px;">01～02</td><td style="width: 225px;">电子钱包消费交易序号</td><td style="width: 48px;">2</td><td style="width: 52px;">HEX</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">03～05</td><td style="width: 225px;">预留</td><td style="width: 48px;">3</td><td style="width: 52px;">HEX</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">06～09</td><td style="width: 225px;">交易金额</td><td style="width: 48px;">4</td><td style="width: 52px;">HEX</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">10</td><td style="width: 225px;">交易类型</td><td style="width: 48px;">1</td><td style="width: 52px;">HEX</td><td style="width: 225px;">0x06表示消费，0x09表示复合消费</td></tr><tr><td style="width: 79px;">11～16</td><td style="width: 225px;">交易终端编号</td><td style="width: 48px;">6</td><td style="width: 52px;">BCD</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">17～20</td><td style="width: 225px;">交易日期（YYYYMMDD）</td><td style="width: 48px;">4</td><td style="width: 52px;">BCD</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">21～23</td><td style="width: 225px;">交易时间（HHMMSS）</td><td style="width: 48px;">3</td><td style="width: 52px;">BCD</td><td style="width: 225px;"> </td></tr></tbody></table>

##### 电子钱包异地消费交易明细记录文件

<table id="bkmrk-sfi-0x10-%E6%96%87%E4%BB%B6%E7%B1%BB%E5%9E"><tbody><tr><td style="width: 79px;">**SFI**</td><td colspan="4" style="width: 550px;">0x10</td></tr><tr><td style="width: 79px;">**文件类型**</td><td colspan="4" style="width: 550px;">循环记录文件</td></tr><tr><td style="width: 79px;">**记录长度**</td><td colspan="4" style="width: 550px;">0x17</td></tr><tr><td style="width: 79px;">**权限**</td><td colspan="2" style="width: 273px;">读=自由</td><td colspan="2" style="width: 277px;"> 写=N/A</td></tr><tr><td style="width: 79px;">**字节**</td><td style="width: 225px;">**数据元**</td><td style="width: 48px;">**长度**</td><td style="width: 52px;">**格式**</td><td style="width: 225px;">**说明**</td></tr><tr><td style="width: 79px;">01～02</td><td style="width: 225px;">电子钱包消费交易序号</td><td style="width: 48px;">2</td><td style="width: 52px;">HEX</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">03～05</td><td style="width: 225px;">预留</td><td style="width: 48px;">3</td><td style="width: 52px;">HEX</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">06～09</td><td style="width: 225px;">交易金额</td><td style="width: 48px;">4</td><td style="width: 52px;">HEX</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">10</td><td style="width: 225px;">交易类型</td><td style="width: 48px;">1</td><td style="width: 52px;">HEX</td><td style="width: 225px;">0x06表示消费，0x09表示复合消费</td></tr><tr><td style="width: 79px;">11～16</td><td style="width: 225px;">交易终端编号</td><td style="width: 48px;">6</td><td style="width: 52px;">BCD</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">17～20</td><td style="width: 225px;">交易日期（YYYYMMDD）</td><td style="width: 48px;">4</td><td style="width: 52px;">BCD</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">21～23</td><td style="width: 225px;">交易时间（HHMMSS）</td><td style="width: 48px;">3</td><td style="width: 52px;">BCD</td><td style="width: 225px;"> </td></tr></tbody></table>

##### 电子钱包充值消费交易明细记录文件

<table id="bkmrk-sfi-0x1a-%E6%96%87%E4%BB%B6%E7%B1%BB%E5%9E"><tbody><tr><td style="width: 79px;">**SFI**</td><td colspan="4" style="width: 550px;">0x1A</td></tr><tr><td style="width: 79px;">**文件类型**</td><td colspan="4" style="width: 550px;">循环记录文件</td></tr><tr><td style="width: 79px;">**记录长度**</td><td colspan="4" style="width: 550px;">0x17</td></tr><tr><td style="width: 79px;">**权限**</td><td colspan="2" style="width: 273px;">读=自由</td><td colspan="2" style="width: 277px;"> 写=N/A</td></tr><tr><td style="width: 79px;">**字节**</td><td style="width: 225px;">**数据元**</td><td style="width: 48px;">**长度**</td><td style="width: 52px;">**格式**</td><td style="width: 225px;">**说明**</td></tr><tr><td style="width: 79px;">01～02</td><td style="width: 225px;">电子钱包充值交易序号</td><td style="width: 48px;">2</td><td style="width: 52px;">HEX</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">03～05</td><td style="width: 225px;">预留</td><td style="width: 48px;">3</td><td style="width: 52px;">HEX</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">06～09</td><td style="width: 225px;">交易金额</td><td style="width: 48px;">4</td><td style="width: 52px;">HEX</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">10</td><td style="width: 225px;">交易类型</td><td style="width: 48px;">1</td><td style="width: 52px;">HEX</td><td style="width: 225px;">0x02</td></tr><tr><td style="width: 79px;">11～16</td><td style="width: 225px;">交易终端编号</td><td style="width: 48px;">6</td><td style="width: 52px;">BCD</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">17～20</td><td style="width: 225px;">交易日期（YYYYMMDD）</td><td style="width: 48px;">4</td><td style="width: 52px;">BCD</td><td style="width: 225px;"> </td></tr><tr><td style="width: 79px;">21～23</td><td style="width: 225px;">交易时间（HHMMSS）</td><td style="width: 48px;">3</td><td style="width: 52px;">BCD</td><td style="width: 225px;"> </td></tr></tbody></table>

#### 其他说明

城市/项目代码表（城市邮编前4位）

<table id="bkmrk-%E5%9F%8E%E5%B8%82%2F%E9%A1%B9%E7%9B%AE-%E4%BB%A3%E7%A0%81"><tbody><tr><td>城市/项目</td><td>代码</td></tr><tr><td>上海</td><td>2000</td></tr><tr><td>天津</td><td>3000</td></tr><tr><td>招商通</td><td> </td></tr><tr><td>全国景区一卡通</td><td> </td></tr><tr><td>无锡灵山</td><td> </td></tr><tr><td>社区有我</td><td> </td></tr><tr><td>北京未来科学城</td><td>0001</td></tr><tr><td>天津海河游轮</td><td> </td></tr></tbody></table>