ClearFLOW NFC · 帮助
网页工具 后台

没有匹配「」的内容,换个关键词试试。

i这是什么

ClearFLOW NFC 是一套「产品打标」系统,由三端组成。下面所有功能都按现行逻辑(加密信封 v3 · 价格隔离 · 四个口令)详细说明。可用顶部搜索框快速定位。

📱 手机 App(安卓)

读 / 写 / 锁 NTAG213/215/216 与 Mifare Classic,含底层(计数器/签名/内存/密码保护)与离线解密。能力最全。

🌐 网页 Web-NFC 工具

Chrome/Edge(安卓·HTTPS)即开即用,仅 NDEF 层:读写产品/通用记录、整卡只读锁。/tools/nfc.html

🗄️ 管理后台

数据 / 目录 / 录入 / 模板 / 广播 / 用户 / 配置 / 日志。管理员配置加密口令、目录与权限。/admin

1快速开始

每端一条最短路径,照着做即可完成第一次读 / 写。

📱 App

读:首页「读取标签」→ 标签贴手机背面上半部分,贴卡即读。
写:首页「录入/写入产品信息」→ 选型号、填信息 →「写入标签」→ 贴卡保持不动。
价:录价格需先登录;价格单独加密,离线在读取页输价格密码看价。

🌐 网页工具

用安卓 Chrome 打开 /tools/nfc.html → 登录 →「产品」页填写 →「写入产品标签」→ 贴卡。读取在「读取」页点「开始扫描」。

🗄️ 后台

用管理员账号登录 /admin → 先在「配置」设 4 位 PIN / 主口令 / 价格密码 → 在「目录」维护品牌型号 →「录入」建产品记录。

2三端能力矩阵

浏览器 Web NFC 只开放 NDEF 层;底层操作(原始页、计数器、密码、Mifare 扇区)只有原生 App 能做。

能力App网页工具后台
读 / 写 NDEF(文本/网址/MIME/产品)
读 UID
整卡永久只读(makeReadOnly)
分区锁 / 区间锁 / 页面锁
芯片识别 / 容量计数器 / 原厂签名
原始内存读写 / 原始指令 / 克隆
NTAG 密码保护(PWD/PACK/AUTH0)
Mifare Classic 扇区读写 / 访问位锁
离线解密(主口令 / 价格密码) 仅在线
目录 / 用户 / 广播 / 口令配置

3标签与芯片

NTAG 系列走 NDEF,三端皆可(网页限 NTAG);Mifare Classic 走扇区/Crypto1,只有 App 能操作。

芯片用户容量约可写中文建议用途
NTAG213144 字节约 130 字符CFR 紧凑模式 / 短内容
NTAG215504 字节约 490 字符加密整条记录
NTAG216888 字节约 870 字符加密 + 选择性明文 / 长内容
Mifare Classic 1K≈716 字节 NDEF仅 App · 扇区读写
Mifare Classic 4K≈3356 字节 NDEF仅 App · 扇区读写

浏览器无法自动识别芯片型号,网页写入时请按实际芯片在下拉里选容量。App 读取后自动识别,也可在「标签型号参数」手动指定。

4写入三模式

同一条产品记录可用三种方式写到标签,差别在可读性体积保密性。价格始终加密上传服务器。

模式标签上长什么样体积谁能读懂价格
🔒 加密整条记录一段密文信封+≈83B 信封(v4 瘦身)需 4 位 PIN(在线)/ 主口令(离线)单独价格密码加密
标准 CFR(默认紧凑)紧凑二进制最小需 ClearFLOW App/工具 + 目录独立密文嵌入标签
纯文本通用格式可读中文 NDEF 文本较大任何 NFC 工具直接可读不写入标签
选择性明文字段(加密模式专有)
在加密模式下,可勾选「让某些字段保持明文」:勾选的字段以纯文本中文写入标签(任何 NFC 工具可读、不依赖目录),其余字段连同价格仍加密。不勾=整条加密。适合「型号公开、客户信息保密」之类场景。

🤔 帮我选模式

① 标签需要被「任意 NFC 工具」直接读懂吗?

要,任何工具可读不要,自家 App 读即可

② 信息需要保密(别人读到是乱码)吗?

要保密不需要保密

5加密与密钥体系

加密模式把整条记录用随机密钥(DEK)加密;DEK 被「服务器密钥(在线)」+「主口令 PBKDF2(离线)」双重包裹。价格被单独用价格密码加密,主口令也解不出。

信封 v3 字节布局

MAGIC VER3 salt(16) 在线包裹(60) 离线包裹(60) FLG 价格块(价格密码) 记录密文(DEK) 派生口令密钥 PBKDF2(主口令) PBKDF2(价格密码) · 主口令解不出 deflate(记录 JSON · 不含价格) 兼容 v1(明文 JSON)/ v2(压缩·价格在记录内);旧标签永远可读。

四个口令对照

口令用途在哪设能否更改
4 位 PIN在线解析闸门(服务器解出产品字段)后台·配置可随时改(不是解密钥匙)
离线主口令离线解出产品字段(PBKDF2)后台·配置不可改(改了旧标签离线解不开)
价格密码解出价格(与主口令隔离)后台·配置不可改(改了旧标签看不了价)
删除口令后台删除/清空记录与日志的二次确认后台·配置可随时改(操作闸门,非解密钥匙)

删除口令未单独设置时,删除回退用主口令;一旦设了删除口令,删除只认它(主口令回归纯解密)。

解密路径

标签密文 在线 服务器:4 位 PIN → 产品字段 ADMIN/MANAGER → 自动代解价格 离线 App:主口令 → 产品字段 App:价格密码 → 价格 价格与产品字段用不同钥匙 → 主口令永远解不出价格(真隔离)

🔑 PRICE_ENC_KEY(服务器环境变量,必须固定)

加密信封的「在线包裹」+ 后台数据库里存的主口令/价格密码/删除口令,都用 PRICE_ENC_KEY 加密。它设一次、永不可改——改了旧标签在线解密与库内口令全失效。未设时回退 SHA-256(JWT_SECRET),那样轮换 JWT_SECRET 也会全失效。

openssl rand -base64 32

Windows 用 PowerShell:

$b = New-Object byte[] 32; [System.Security.Cryptography.RandomNumberGenerator]::Create().GetBytes($b); [Convert]::ToBase64String($b)

生成后填入部署平台环境变量,重新部署,后台「配置」会显示 PRICE_ENC_KEY ● 已设置。完整运维见仓库 web/SECURITY.md

6锁定与密码保护

⚠ 所有锁定都是物理层、永久且不可逆。锁定后该区域/整卡永远无法再写入或擦除。请务必确认数据无误后再锁。

整卡只读

最简单:整张卡设为只读。三端都支持(网页/App/写入时勾选)。

分区 / 区间 / 页面锁(仅 App)

用静态锁+动态锁把「某页到末尾」或「任意 [起页..止页]」永久设为只读,其余页仍可写。读取页会精确显示锁了哪些页。

NTAG 密码保护(仅 App·底层)

AUTH0=从第几页起需密码;PROT=读+写都要密码 or 仅写;AUTHLIM=失败次数上限;CFGLCK=冻结配置(不可逆)。⚠ 务必牢记密码,忘记且 PROT 开启=该区永久无法读写。

Mifare Classic 扇区锁(仅 App)

改写扇区尾块访问位为只读(0F 07 8F),两把密钥都设为同一值。不可逆。⚠ 写错尾块可能永久锁死扇区。

7高级底层功能(仅 App · NTAG)

对 NTAG 芯片直接发原始指令的工具,面向进阶用户。Mifare Classic 请用专门的扇区读写页。

芯片识别 / GET_VERSION

读出准确型号与容量。

NFC 计数器

读取/开关一次性递增计数器,可做防伪与扫码统计。

原厂签名校验

验证 NXP ECDSA 出厂签名,判断是否真品芯片。

完整内存转储

逐页读取整卡(含 UID/锁/CC/配置页),只读不改,可导出文本。

克隆标签

先读源标签、再写目标标签,整组 NDEF 原样复制(不含 UID/密码/锁定)。

原始指令

直接发 NfcA(ISO 14443-3A)指令:READ/FAST_READ/WRITE/READ_SIG/PWD_AUTH 等,含参考说明。

8模板与目录

模板(产品 / 记录 / 消息)

个人模板存于本机;公共模板由后台发布、下发到 App / 网页。三端可用导出的 JSON/CSV 互通导入。一键「套用」即填表。

目录 + 快捷填入(HINT)

品牌→类型→系列→型号四级级联在目录维护。序列号/尾缀/供电/位置/经销商/最终用户/备注可配 HINT_* 预设,录入时点「快速填入」chip 即可复选累加填入(去重;尾缀用 - 连接、其余用空格)。三端一致,后台·目录维护。

批量导入 CSV
后台「录入」页底部可下载 CSV 模板、粘贴或选文件批量导入:表头用字段名,品牌/型号填代码,日期 YYYY-MM-DD,价格用(自动转分加密),每批最多 500 行。

9管理后台

八个标签页;多数为 ADMIN 专用,部分 MANAGER 可用。

标签页作用谁可用
数据查看产品记录 / 读日志 / 写日志,筛选、导出、(删除口令)删除ADMIN
目录维护品牌/型号级联与 HINT 预设,发布目录版本ADMIN
录入建产品记录(不写物理标签,存库;价格加密)+ CSV 批量导入ADMIN
模板产品 / 记录 / 消息 三类公共模板ADMIN/MANAGER
广播编写并下发 App 弹窗消息(info/warning/critical)ADMIN/MANAGER
用户审批注册、改角色、停用账号ADMIN
配置设 4 位 PIN / 主口令 / 价格密码 / 删除口令;看 PRICE_ENC_KEY 状态ADMIN
日志审计日志(谁、何时、做了什么、IP)ADMIN

角色权限

能力ADMINMANAGEROPERATOR公开
看价格(点击解密)
读写标签 / 用网页工具读公开页
模板 / 广播
用户 / 目录 / 配置 / 删除 / 日志

新注册默认 OPERATOR,需管理员审批后才能登录、且无看价权限。

10安全运维 · 备份

重新部署 / 迁移前必须带走

  1. 数据库(含用户、记录、被 PRICE_ENC_KEY 加密的口令副本)。
  2. PRICE_ENC_KEY 环境变量,一字不差搬过去。
  3. 离线主口令 + 价格密码的明文离线备份(纸/密码管理器)——最后的保命符。

4 位 PIN、删除口令丢了可重设,不影响解密。详见仓库 web/SECURITY.md

11常见问题 / 故障排查

贴卡读不出?
把标签贴在手机背面上半部分(NFC 天线位置因机型而异),贴稳别动;确认系统 NFC 已开启。网页工具仅安卓 Chrome/Edge + HTTPS 才支持。
提示超容量、写不下?
换更大芯片(NTAG216),或改用更省空间的模式(默认 CFR 最小),或减少明文字段。三端都会按所选容量实时预估并在超标时阻止写入。
标签锁了还想改?
不行。所有锁定都是物理不可逆的,只能换一张新标签重写。所以务必确认无误再锁。
换了服务器,旧标签解不开 / 看不到价?
几乎都是 PRICE_ENC_KEY 没带过去,或主口令/价格密码被改了。把原 PRICE_ENC_KEY 原样配回;产品字段离线用主口令、价格离线用价格密码仍可解(前提是这两个明文没丢)。
登录了却看不到价格?
看价需要 ADMIN/MANAGER 角色;OPERATOR 无看价权限。离线时在读取页输入价格密码也可看价。
ClearFLOW NFC · 使用帮助 — 内容随产品功能更新。技术细节见仓库 web/SECURITY.md 与各端内置说明。