Skip to content

03 加密模块

Xiaomi-Yule edited this page Jan 20, 2021 · 2 revisions

miot/host/crypto

加密模块

Export: public
Doc_name: 加密模块
Doc_index: 3
Doc_directory: host
Example

import {Host} from 'miot'
...
const str = '123'
//async
let md5 = await Host.crypto.encodeMD5(str)

//normal
Host.crypto.encodeMD5(str).then(res => {//md5 value is res})
...

miot/host/crypto.ECCCrypto

椭圆曲线

Kind: static class of miot/host/crypto


new exports.ECCCrypto(curveType)

Param Type
curveType number

eccCrypto.generateKeyPair() ⇒ Promise

生成公私钥对

Kind: instance method of ECCCrypto
Returns: Promise - 成功则返回public key,失败则返回 {code: -1, message: error}


eccCrypto.generateSharedSecret(otherPublicKey) ⇒ Promise

生成shared secret

Kind: instance method of ECCCrypto
Returns: Promise - 成功则返回shared secret,失败则返回 {code: -x, message: error}

Param Type Description
otherPublicKey String 另一方的publickey, base64 encoded string

miot/host/crypto~ICrypto

Kind: inner interface of miot/host/crypto


iCrypto.encodeMD5(content) ⇒ [ 'Promise' ].<string>

MD5 编码

Kind: instance method of ICrypto
Returns: [ 'Promise' ].<string> - 使用md5编码后的字符串(Android返回的md5是小写字母,iOS是大写字母,插件可以做一下转换统一大小写)

Param Type Description
content string 需要编码的字符串

iCrypto.encodeBase64(content) ⇒ [ 'Promise' ].<string>

base64 编码

Kind: instance method of ICrypto
Returns: [ 'Promise' ].<string> - 使用base64编码后的字符串

Param Type Description
content string 需要编码的字符串

iCrypto.decodeBase64(content) ⇒ [ 'Promise' ].<string>

base64解码

Kind: instance method of ICrypto
Returns: [ 'Promise' ].<string> - 使用base64解码后的字符串

Param Type Description
content string 需要解码的字符串

iCrypto.encodeSHA1(content) ⇒ [ 'Promise' ].<string>

SHA1 编码

Kind: instance method of ICrypto
Returns: [ 'Promise' ].<string> - 使用SHA1编码后的字符串

Param Type Description
content string 需要编码的字符串

iCrypto.encodeSHA2(content) ⇒ [ 'Promise' ].<string>

SHA256 编码

Kind: instance method of ICrypto
Returns: [ 'Promise' ].<string> - 使用SHA256编码后的字符串

Param Type Description
content string 需要编码的字符串

iCrypto.colorsToImageBase64(content, colorMStr, color0Str, color1Str) ⇒ [ 'Promise' ].<any>

Deprecated

该接口从10032开始废弃,建议使用{@see robotCleanerMapColorsToImageBase64 }代替 api_level 10001 扫地机的地图转换, base64文件内容转成图片

Kind: instance method of ICrypto
Returns: [ 'Promise' ].<any> - 使用base64编码后的图片数据(Android是string类型)
Since: 10001

Param Type Description
content string 地图文件
colorMStr string 墙色值
color0Str string 背景色值
color1Str string 已发现区域色值

iCrypto.robotCleanerMapColorsToImageBase64(content, colorMStr, color0Str, color1Str) ⇒ [ 'Promise' ].<any>

api_level 10032 扫地机的地图转换, base64文件内容转成图片

Kind: instance method of ICrypto
Returns: [ 'Promise' ].<any> - 使用base64编码后的图片数据(Android是string类型)
Since: 10032

Param Type Description
content string 地图文件,使用base64编码,编码前地图文件是byte数组
colorMStr string 墙色值
color0Str string 背景色值
color1Str string 已发现区域色值

iCrypto.pointsToImageBase64(width, height, points, colorsMap)

Deprecated

该接口从10032开始废弃,建议使用{@see robotCleanerMapPointsToImageBase64 }代替 ApiLevel: 10020

Kind: instance method of ICrypto
Since: 10020 2019.05.16 针对第三方要求新增的接口 扫地机的地图转换 根据点集合长宽以及每个点对应的颜色值生成bitmap并返回其base64字符串

Param Type Description
width int : 图片宽度
height int : 图片高度
points string : 点集合字符串
colorsMap string : 点值与颜色之间对应关系JSON字符串 值得注意的是,需要传递8位深度的颜色值,其中头两位代表alpha通道,后六位代表rgb通道 例如 #FFFF0000 代表红色 建议值: -1 墙 #FF666666 0 背景 #FFE6EAEE 1 发现区域 #FFC6D8FA >=10 房间区域

iCrypto.robotCleanerMapPointsToImageBase64(width, height, points, colorsMap) ⇒ [ 'Promise' ].<string>

ApiLevel: 10032

Kind: instance method of ICrypto
Returns: [ 'Promise' ].<string> - 使用base64编码后的图片数据
Since: 10032 2019.05.16 针对第三方要求新增的接口 扫地机的地图转换 根据点集合长宽以及每个点对应的颜色值生成bitmap并返回其base64字符串

Param Type Description
width int : 图片宽度
height int : 图片高度
points string : 点集合字符串,如 ‘1,2,3,4,5,6,7’
colorsMap string : 点值与颜色之间对应关系JSON字符串 值得注意的是,需要传递8位深度的颜色值,其中头两位代表alpha通道,后六位代表rgb通道 例如 #FFFF0000 代表红色 建议值: -1 墙 #FF666666 0 背景 #FFE6EAEE 1 发现区域 #FFC6D8FA >=10 房间区域

iCrypto.pointsScaleToImageBase64(width, height, points, colorsMap, scale)

Deprecated

该接口从10032开始废弃,建议使用{@see robotCleanerPointsScaleToImageBase64 }代替 ApiLevel: 10023

Kind: instance method of ICrypto
Since: 10023 2019.05.16 针对第三方要求新增的接口 扫地机的地图转换 根据点集合长宽以及每个点对应的颜色值生成bitmap并返回其base64字符串

Param Type Description
width int : 图片宽度
height int : 图片高度
points string : 点集合字符串
colorsMap string : 点值与颜色之间对应关系JSON字符串 值得注意的是,需要传递8位深度的颜色值,其中头两位代表alpha通道,后六位代表rgb通道 例如 #FFFF0000 代表红色 #00FFFFFF 代表透明颜色 建议值: -1 墙 #FF666666 0 背景 #FFE6EAEE 1 发现区域 #FFC6D8FA >=10 房间区域
scale int : 缩放比例

iCrypto.robotCleanerPointsScaleToImageBase64(width, height, points, colorsMap, scale) ⇒ [ 'Promise' ].<string>

ApiLevel: 10032

Kind: instance method of ICrypto
Returns: [ 'Promise' ].<string> - 使用base64编码后的图片数据
Since: 10032 2019.05.16 针对第三方要求新增的接口 扫地机的地图转换 根据点集合长宽以及每个点对应的颜色值生成bitmap并返回其base64字符串

Param Type Description
width int : 图片宽度
height int : 图片高度
points string : 点集合字符串
colorsMap string : 点值与颜色之间对应关系JSON字符串 值得注意的是,需要传递8位深度的颜色值,其中头两位代表alpha通道,后六位代表rgb通道 例如 #FFFF0000 代表红色 #00FFFFFF 代表透明颜色 建议值: -1 墙 #FF666666 0 背景 #FFE6EAEE 1 发现区域 #FFC6D8FA >=10 房间区域
scale int : 缩放比例

iCrypto.zhuimiRobotTracesToImageBase64(width, height, traces:) ⇒ [ 'Promise' ].<string>

for 追觅扫地机器人画图api 扫地机地图转换,画图

Kind: instance method of ICrypto
Returns: [ 'Promise' ].<string> - 使用base64编码后的图片数据 成功时:{"code":0, "data":"xxx" } // data 注意判断空值 返回的base64图片值不包括前缀 'data:image/png;base64' 失败时:{"code":-1, "message":"points in json must has valid length" } {"code":-2, "message":"input parmas width or height must > 0" } {"code":-3, "message":"points in json must be valid array json string"}
Since: 10035

Param Type Description
width int : 图片宽度
height int : 图片高度
traces: string 点集合等信息

Clone this wiki locally