开始使用
  • English
  • 简体中文
前往官网
开始使用
  • English
  • 简体中文
前往官网
  • 开始使用
  • 核心概念
  • 开发指南
  • 设备能力与事件参考
  • API 参考
    • 公共约定
    • HTTP 开发规范
    • accessToken(管理员 Token)
    • API 请求示例
    • 错误码
    • 接口调用限额
    • 账号与授权
    • 设备接口
    • 直播地址
    • 推送配置
    • 云存储
    • 资源池额度管理
    • 旧版接口(不再维护)
      • 门锁(遗留)
      • 告警消息(遗留)
      • 设备查询(已弃用)
      • 设备维护(遗留)
        • modifyDeviceName(修改设备或通道名称)
        • modifyPassword(修改设备密码)
        • refreshDeviceCover(刷新设备/通道封面)
        • upgradeDevice(设备升级)
        • verifyPassword(校验设备密码)
        • uploadDeviceCoverPicture(设置设备视频封面)
      • 设备操作(遗留)
      • 设备使能(遗留)
      • 动检配置(遗留)
      • 收藏点(遗留)
      • 定时巡航(遗留)
      • 本地录像配置(遗留)
      • 音量(遗留)
      • 存储(遗留)
      • 图像与视频(遗留)
      • 时区(遗留)
      • Wi-Fi(遗留)
      • 本地录像查询(遗留)
  • SDK 与工具
  • 方案
  • 平台与支持
本页目录
功能说明
请求地址
请求格式
请求参数
passwordV2 加密(V2)
请求示例
返回 data 字段
响应示例
错误码
相关参考

verifyPassword(校验设备密码)

verifyPassword:校验设备密码

已弃用: 新接入请使用 校验设备密码(device.password.verify)。本页仅供存量 HTTP 对接查阅。

功能说明

校验设备密码。

说明:本接口仅对具备「TCM」设备能力集的设备有效。

请求地址

https://openapi-[DataCenter].easy4ip.com/openapi/verifyPassword

请求格式

POST JSON 请求体见 请求约定;签名见 签名。

请求参数

参数名参数类型是否必填默认值合法取值参数说明
tokenString是管理员 accessToken
deviceIdString是设备序列号
passwordString条件与 passwordV2 二选一设备密码(V1 加密),算法见下方
passwordV2String条件与 password 二选一设备密码(V2 加密),算法见下方

password 加密算法说明 计算公式:Base64(AES256_CBC(sourcePassword, Key[], IV[])) 加密规则如下:

  1. 采用 CBC 分组加密,算法为 AES/CBC/PKCS5Padding;
  2. sourcePassword 为设备明文密码;
  3. Key[] 为密钥(key)的二进制数组;
  4. key = LowerCase(MD5(UpperCase(Base64(KDF(deviceId, MD5(appSecret)))))),KDF 算法为 PBKDF2WithHmacSHA256,迭代 1200 次,导出密钥长度 256 位;
  5. IV[] 为初始化向量二进制数组,取值为 MD5(appSecret)(Java 自带 MessageDigest 的 MD5 算法)。

设备新密码规则要求:

  1. 密码须至少包含数字、大写字母、小写字母、特殊字符中的两类,长度 8~32 位;特殊字符指除 '、"、;、:、&、空格以外的任意可见字符;
  2. 密码不能包含中文字符。

passwordV2 加密(V2)

passwordV2 与 v2 能力接口 device.password.verify 使用同一算法:

设备密码字段加密(v2 OpenAPI)

适用字段:device.password.verify 的 passwordV2;device.password.set 的 oldPasswordV2、newPasswordV2。三者同一套算法(与绑定页 encryptCodeV2 同族,字段名不同)。

步骤说明
1. 明文设备密码 UTF-8 字符串(newPasswordV2 须先满足下文强度规则再加密)
2. 因子pwdFactor = "op_api_" + appId + "_PWD_KEY_" + deviceId(appId 取请求 system.appId,须与派生时一致)
3. Saltsalt = SHA-256(UTF-8(pwdFactor)) 的前 16 字节
4. PBKDF2PBKDF2WithHmacSHA256:password=deviceId,salt=上一步,迭代 1200 次,导出 256 位 → kdfRaw
5. AES 密钥kdfBase64 = Base64(kdfRaw)(标准 Base64);aesKey = SHA-256(UTF-8(kdfBase64.toUpperCase())) → 32 字节 AES-256 密钥
6. Nonce加密时随机 12 字节(每次加密不同)
7. 加密AES/GCM/NoPadding,GCM tag 128 bit;密文块 = AES-GCM(明文)(含 tag)
8. 传参值Base64(nonce[12] ‖ 密文块),作为对应字段字符串

不使用 appSecret 参与 v2 密钥派生。

新密码明文(仅 newPasswordV2 加密前):长度 8~32;数字、大写字母、小写字母、特殊字符中至少两类;特殊字符为除 '、"、;、:、&、空格外的可见字符;不得含中文。

验密成功后改密:可将本次请求的 passwordV2 整段密文原样填入 oldPasswordV2(同一 appId、deviceId、同一明文)。

请求示例

{
 "id":"d5c287b4-5b2f-4f03-baf5-8032c5c354af",
 "system":{
 "ver":"1.0",
 "appId":"lcdxxxxxxxxx",
 "sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
 "time":1599031074,
 "nonce":"8ec8a7bd1d1c95420de20d92422d457d"
 },
 "params":{
 "token":"At_00006acr3456d12312d3grf60147de7ec",
 "deviceId":"TESTQWERXXXX",
 "password":"jdueu37ajusdii3873jsc8"
 }
}

返回 data 字段

无返回数据

响应示例

{
 "result":{
 "msg":"操作成功.",
 "code":"0"
 },
 "id":"d5c287b4-5b2f-4f03-baf5-8032c5c354af"
}

错误码

本接口可能返回下列码;完整分组见 错误码 与 能力错误码。

网关与鉴权(SN / TK / OP)

错误码错误码说明下一步
SN1001签名校验异常按 HTTP 开发规范 核对 sign
TK1002token 无效或过期重新获取 accessToken
OP1002缺少必填参数补必填字段
OP1003参数不合法按本页参数表核对
OP1009权限不足核对 token 与设备绑定/分享权限
OP1013接口总次数超限降低调用频率
OP1014接口日限额超限见 接口调用限额
DV1007设备离线等设备上线

更多见 错误码 · OP/SN/TK。

子账号(SUB)

错误码错误码说明下一步
SUB1001–SUB1002子账号无接口权限在 addPolicy 中补策略
SUB1005子账号 token 过期重新 subAccountToken
SUB1006子账号与设备无授权核对 Resource 与设备序列号
SUB1008子账号未绑定应用先创建并绑定子账号

更多见 错误码 · SUB。

设备访问与通道(DV10xx)

错误码错误码说明下一步
DV1007设备离线或超时等设备上线
DV1009设备正忙稍后重试
DV1012分享/授权设备权限不足核对子账号 Permission / Resource
DV1019能力集不支持确认型号与能力列表
DV1020通道离线检查通道状态
DV1026不支持此功能换接口或升级固件
DV1028未绑定或通道不存在核对 deviceId / channelId

更多见 错误码 · DV。

设备密码(DV10xx)

错误码错误码说明下一步
DV1016设备密码错误核对旧密码
:---:---:---
DV1025SC 码或密码错误核对安全码
:---:---:---
DV1027安全码错误核对设备安全码
:---:---:---
DV1042密码错误次数过多已锁定等待解锁
:---:---:---
DV1054新密码不符合规则按本页密码规则修改

相关参考

  • 开发规范
  • 公共约定
  • 校验设备密码
  • 本模块索引
upgradeDevice(设备升级)
uploadDeviceCoverPicture(设置设备视频封面)