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 配對碼字串。的值,編碼為大端序 (Base-32 數字),再加上結尾的 Verhoeff 檢查字元。產生的字串長度是由 PairCodeLen 參數指定的固定長度。字串左側會視需要加上零,以符合這個長度要求。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
IntToPairingCode
WEAVE_ERROR IntToPairingCode( uint64_t val, uint8_t pairingCodeLen, char *outBuf )
將整數值編碼為 Weave 配對碼。
這個函式會產生 Weave 配對碼字串,其中包含提供的無正負號整數值,並編碼為大端序 (Base-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 配對碼字串的初始字元剖析為大端序 (base-32 數字) 的初始字元,並將結果值傳回為無正負號的整數。輸入字串的長度可以是 >= 2,只要已解碼的整數符合 uint64_t 即可。
未嘗試驗證 Verhoeff 檢查字元 (請參閱 VerifyPairingCode())。
詳細資料 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
VerifyPairingCode
WEAVE_ERROR VerifyPairingCode( const char *pairingCode, size_t pairingCodeLen )
驗證 Weave 配對碼與其檢查字元。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|