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 校验字符。生成的字符串具有 pairingCodeLen 参数指定的固定长度。字符串左侧会根据需要填充零以满足此长度要求。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
IntToPairingCode
WEAVE_ERROR IntToPairingCode( uint64_t val, uint8_t pairingCodeLen, char *outBuf )
将整数值编码为 Weave 配对码。
该函数会生成一个 Weave 配对代码字符串,该字符串由提供的无符号整数值(编码为以 32 为底的大端数)和尾随 Verhoeff 校验字符组成。生成的字符串具有 pairingCodeLen 参数指定的固定长度。字符串左侧会根据需要填充零以满足此长度要求。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
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 终止,则输出也将以 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 配对码。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|