verifyPassword:验证设备密码
功能详情
验证设备密码。
备注:此接口仅对有"TCM"设备能力集的设备有效。
请求地址
https://openapi.lechange.cn/openapi/verifyPassword
传入参数说明
参数名 | 参数类型 | 是否必填 | 默认值 | 合法值 | 参数说明 |
---|---|---|---|---|---|
token | String | 是 | 管理员accessToken | ||
deviceId | String | 是 | 设备序列号 | ||
password | String | 是 | 设备密码需加密传输,具体加密详细说明请见下文 | 设备密码加密后的字符串 |
password加密算法详细说明:
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、密码不能有中文字符。
样例输入
{
"id":"d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"system":{
"ver":"1.0",
"appId":"lcdxxxxxxxxx",
"sign":"74bc756ebd53e9eef2836f8cf1730c10",
"time":1599031074,
"nonce":"8ec8a7bd1d1c95420de20d92422d457d"
},
"params":{
"token":"At_00006acr3456d12312d3grf60147de7ec",
"deviceId":"MEGREZ0000001842",
"password":"jdueu37ajusdii3873jsc8"
}
}
返回data字段说明
无data数据返回
样例输出
{
"result":{
"msg":"操作成功。",
"code":"0"
},
"id":"d5c287b4-5b2f-4f03-baf5-8032c5c354af"
}