nl:: PairingCode
摘要
枚举 |
|
---|---|
@353
|
枚举 |
@354
|
枚举 |
@355
|
枚举 |
@356{
|
枚举 |
函数 |
|
---|---|
GeneratePairingCode(uint8_t pairingCodeLen, char *outBuf)
|
生成随机配对码。
|
IntToPairingCode(uint64_t val, uint8_t pairingCodeLen, char *outBuf)
|
将整数值编码为 Weave 配对码。
|
IntToPairingCodeChar(int val)
|
char
将 0..31 范围内的整数值转换为对应的 Weave 配对码字符。
|
IsValidPairingCodeChar(char ch)
|
bool
如果提供的字符是有效的 Weave 配对代码字符,则返回 true。
|
KryptoniteDeviceIdToPairingCode(uint64_t deviceId, char *pairingCodeBuf, size_t pairingCodeBufSize)
|
根据指定 Kryptonite 设备 ID 生成 Kryptonite 配对代码字符串。
|
KryptonitePairingCodeToDeviceId(const char *pairingCode, uint64_t & deviceId)
|
返回以 Kryptonite 配对码编码的设备 ID。
|
NevisDeviceIdToPairingCode(uint64_t deviceId, char *pairingCodeBuf, size_t pairingCodeBufSize)
|
根据指定 Nevis 设备 ID,生成 Nevis 配对码字符串。
|
NevisPairingCodeToDeviceId(const char *pairingCode, uint64_t & deviceId)
|
返回以 Nevis 配对码编码的设备 ID。
|
NormalizePairingCode(char *pairingCode, size_t & pairingCodeLen)
|
void
将配对码字符串中的字符标准化。
|
PairingCodeCharToInt(char ch)
|
int
将 Weave 配对码字符转换为 0..31 范围内的整数值。
|
PairingCodeToInt(const char *pairingCode, size_t pairingCodeLen, uint64_t & val)
|
将 Weave 配对码解码为整数值。
|
VerifyPairingCode(const char *pairingCode, size_t pairingCodeLen)
|
根据验证字符验证 Weave 配对码。
|
枚举
@353
@353
@354
@354
@355
@355
@356
@356
属性 | |
---|---|
kBitsPerCharacter
|
单个配对码字符中编码的位数。 |
kKryptonitePairingCodeLength
|
Kryptonite 的配对代码长度。 |
kPairingCodeLenMin
|
配对码的最小长度。 |
kStandardPairingCodeLength
|
大多数 Nest 产品的配对代码长度。 |
函数
GeneratePairingCode
WEAVE_ERROR GeneratePairingCode( uint8_t pairingCodeLen, char *outBuf )
生成随机配对码。
函数生成具有指定长度的随机 Weave 配对码字符串。值编码为一个大端序、以 32 为基数的数字,并加上结尾的 Verhoeff 校验字符。生成的字符串具有由 pairCodeLen 参数指定的固定长度。根据需要在字符串左侧填充零来满足此长度要求。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
IntToPairingCode
WEAVE_ERROR IntToPairingCode( uint64_t val, uint8_t pairingCodeLen, char *outBuf )
将整数值编码为 Weave 配对码。
该函数会生成 Weave 配对代码字符串,该字符串由提供的无符号整数值(编码为以 32 为基数的大端序)和尾随 Verhoeff 校验字符组成。生成的字符串具有由 pairCodeLen 参数指定的固定长度。根据需要在字符串左侧填充零来满足此长度要求。
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
IntToPairingCodeChar
char IntToPairingCodeChar( int val )
将 0..31 范围内的整数值转换为对应的 Weave 配对码字符。
请注意,此函数始终生成大写字符。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
与指定整数值对应的配对码字符,如果整数值超出范围,则为 0。
|
IsValidPairingCodeChar
bool IsValidPairingCodeChar( char ch )
如果提供的字符是有效的 Weave 配对代码字符,则返回 true。
请注意,此函数不区分大小写。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果提供的字符是有效的 Weave 配对代码字符,则为 true。
|
KryptoniteDeviceIdToPairingCode
WEAVE_ERROR KryptoniteDeviceIdToPairingCode( uint64_t deviceId, char *pairingCodeBuf, size_t pairingCodeBufSize )
根据指定 Kryptonite 设备 ID 生成 Kryptonite 配对代码字符串。
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
KryptonitePairingCodeToDeviceId
WEAVE_ERROR KryptonitePairingCodeToDeviceId( const char *pairingCode, uint64_t & deviceId )
返回以 Kryptonite 配对码编码的设备 ID。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
NevisDeviceIdToPairingCode
WEAVE_ERROR NevisDeviceIdToPairingCode( uint64_t deviceId, char *pairingCodeBuf, size_t pairingCodeBufSize )
根据指定 Nevis 设备 ID,生成 Nevis 配对码字符串。
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
NevisPairingCodeToDeviceId
WEAVE_ERROR NevisPairingCodeToDeviceId( const char *pairingCode, uint64_t & deviceId )
返回以 Nevis 配对码编码的设备 ID。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
NormalizePairingCode
void NormalizePairingCode( char *pairingCode, size_t & pairingCodeLen )
将配对码字符串中的字符标准化。
此函数将所有字母字符转换为大写,映射非法字符“I”、“O”、“Q”和“Z”更改为“1”、“0”、“0”“2”,即可从指定字符串中移除所有其他非配对代码字符。
输入字符串不需要以 NULL 终止,但如果它,输出也将以 NULL 终止。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
PairingCodeCharToInt
int PairingCodeCharToInt( char ch )
将 Weave 配对码字符转换为 0..31 范围内的整数值。
请注意,此函数不区分大小写。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
与指定的配对码字符对应的整数值,如果 ch 不是有效字符,则为 -1。
|
PairingCodeToInt
WEAVE_ERROR PairingCodeToInt( const char *pairingCode, size_t pairingCodeLen, uint64_t & val )
将 Weave 配对码解码为整数值。
该函数将 Weave 配对代码字符串的初始字符解析为以 32 为基数的大端序数字,并以无符号整数形式返回所得值。输入字符串可以是任何长度 >= 2,只要解码的整数适合 uint64_t 即可。
系统不会尝试验证 Verhoeff 检查字符(请参阅 VerifyPairingCode())。
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
VerifyPairingCode
WEAVE_ERROR VerifyPairingCode( const char *pairingCode, size_t pairingCodeLen )
根据验证字符验证 Weave 配对码。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|