nl:: การจับคู่โค้ด
สรุป
การแจกแจง |
|
---|---|
@353
|
enum |
@354
|
enum |
@355
|
enum |
@356{
|
enum |
ฟังก์ชัน |
|
---|---|
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 ที่ถูกต้อง
|
KryptoniteDeviceIdToPairingCode(uint64_t deviceId, char *pairingCodeBuf, size_t pairingCodeBufSize)
|
สร้างสตริงรหัสการจับคู่ Kryptonite โดยใช้รหัสอุปกรณ์ Kryptonite
|
KryptonitePairingCodeToDeviceId(const char *pairingCode, uint64_t & deviceId)
|
แสดงรหัสอุปกรณ์ที่เข้ารหัสในโค้ดการจับคู่ Kryptonite
|
NevisDeviceIdToPairingCode(uint64_t deviceId, char *pairingCodeBuf, size_t pairingCodeBufSize)
|
สร้างสตริงรหัสการจับคู่ Nevis ซึ่งระบุรหัสอุปกรณ์ Nevis
|
NevisPairingCodeToDeviceId(const char *pairingCode, uint64_t & deviceId)
|
แสดงรหัสอุปกรณ์ที่เข้ารหัสด้วยรหัสการจับคู่ของ Nevis
|
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 ส่วนใหญ่ |
ฟังก์ชัน
สร้างรหัสการจับคู่
WEAVE_ERROR GeneratePairingCode( uint8_t pairingCodeLen, char *outBuf )
สร้างรหัสการจับคู่แบบสุ่ม
ฟังก์ชันจะสร้างสตริงรหัสการจับคู่ Weave แบบสุ่มโดยมีความยาวที่ระบุ โดยเข้ารหัสเป็นเลขฐานใหญ่ ฐาน 32 และอักขระตรวจสอบ Verhoeff ต่อท้าย สตริงที่สร้างขึ้นมีความยาวคงที่ซึ่งระบุโดยพารามิเตอร์การจับคู่โค้ด ระยะห่างจากขอบด้านซ้ายโดยมีค่าเป็น 0 ตามความจําเป็นเพื่อให้ได้ความยาวเท่านี้
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
แสดงผลค่า |
|
โค้ด IntToPairing
WEAVE_ERROR IntToPairingCode( uint64_t val, uint8_t pairingCodeLen, char *outBuf )
เข้ารหัสค่าจํานวนเต็มเป็นรหัสการจับคู่ของ Weave
ฟังก์ชันนี้จะสร้างสตริงรหัสการจับคู่ Weave ซึ่งประกอบด้วยค่าจํานวนเต็มที่ไม่มีเครื่องหมายซึ่งเข้ารหัสเป็นเลขฐานใหญ่ ฐาน 32 และเครื่องหมาย Verhoeff ต่อท้าย สตริงที่สร้างขึ้นมีความยาวคงที่ซึ่งระบุโดยพารามิเตอร์การจับคู่โค้ด ระยะห่างจากขอบด้านซ้ายโดยมีค่าเป็น 0 ตามความจําเป็นเพื่อให้ได้ความยาวเท่านี้
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
IntToPairingCodeChar
char IntToPairingCodeChar( int val )
แปลงค่าจํานวนเต็มในช่วง 0..31 เป็นอักขระรหัสการจับคู่ Weave ที่เกี่ยวข้อง
โปรดทราบว่าฟังก์ชันนี้จะสร้างอักขระตัวพิมพ์ใหญ่เสมอ
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
อักขระการจับคู่รหัสที่ตรงกับค่าจํานวนเต็มที่ระบุ หรือ 0 หากค่าจํานวนเต็มอยู่นอกช่วง
|
IsCertingingCodeChar
bool IsValidPairingCodeChar( char ch )
แสดงผลเป็น "จริง" หากอักขระที่ระบุเป็นอักขระรหัสการจับคู่ Weave ที่ถูกต้อง
โปรดทราบว่าฟังก์ชันนี้ไม่คํานึงถึงตัวพิมพ์เล็กหรือใหญ่
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
เป็นจริงหากอักขระที่ระบุเป็นอักขระรหัสการจับคู่ Weave ที่ถูกต้อง
|
รหัสการจับคู่อุปกรณ์ Kryptonite
WEAVE_ERROR KryptoniteDeviceIdToPairingCode( uint64_t deviceId, char *pairingCodeBuf, size_t pairingCodeBufSize )
สร้างสตริงรหัสการจับคู่ Kryptonite โดยใช้รหัสอุปกรณ์ Kryptonite
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
โค้ดการจับคู่ Kryptonite
WEAVE_ERROR KryptonitePairingCodeToDeviceId( const char *pairingCode, uint64_t & deviceId )
แสดงรหัสอุปกรณ์ที่เข้ารหัสในโค้ดการจับคู่ Kryptonite
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
แสดงผลค่า |
|
รหัสการจับคู่อุปกรณ์ Nevis
WEAVE_ERROR NevisDeviceIdToPairingCode( uint64_t deviceId, char *pairingCodeBuf, size_t pairingCodeBufSize )
สร้างสตริงรหัสการจับคู่ Nevis ซึ่งระบุรหัสอุปกรณ์ Nevis
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
รหัสการจับคู่ Nevis ในอุปกรณ์
WEAVE_ERROR NevisPairingCodeToDeviceId( const char *pairingCode, uint64_t & deviceId )
แสดงรหัสอุปกรณ์ที่เข้ารหัสด้วยรหัสการจับคู่ของ Nevis
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
แสดงผลค่า |
|
มาตรฐานการจับคู่คู่
void NormalizePairingCode( char *pairingCode, size_t & pairingCodeLen )
ปรับอักขระในสตริงรหัสการจับคู่ให้เป็นมาตรฐาน
ฟังก์ชันนี้จะแปลงอักขระที่เป็นตัวอักษรเป็นตัวพิมพ์ใหญ่ทั้งหมด แมปอักขระที่ไม่ถูกต้อง 'I', 'O', 'Q' &&33;Z' & &33;1', '0''&
สตริงอินพุตไม่จําเป็นต้องสิ้นสุด NULL แต่หากเป็นเอาต์พุตก็จะต้องสิ้นสุด NULL ด้วย
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
การจับคู่โค้ดแผนภูมิ
int PairingCodeCharToInt( char ch )
แปลงอักขระรหัสการจับคู่ Weave เป็นค่าจํานวนเต็มในช่วง 0..31
โปรดทราบว่าฟังก์ชันนี้ไม่คํานึงถึงตัวพิมพ์เล็กหรือใหญ่
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
ค่าจํานวนเต็มที่ตรงกับอักขระที่ใช้เป็นรหัสการจับคู่ที่ระบุ หรือ -1 หาก ch ไม่ใช่อักขระที่ถูกต้อง
|
การจับคู่โค้ดใน Int
WEAVE_ERROR PairingCodeToInt( const char *pairingCode, size_t pairingCodeLen, uint64_t & val )
ถอดรหัสรหัสการจับคู่ของ Weave เป็นค่าจํานวนเต็ม
ฟังก์ชันนี้จะแยกวิเคราะห์อักขระเริ่มต้นของสตริงรหัสการจับคู่ Weave เป็นตัวเลขฐานใหญ่ แบบ 32 และแสดงผลค่าผลลัพธ์เป็นจํานวนเต็มที่ไม่มีเครื่องหมาย สตริงอินพุตจะมีความยาวเท่าใดก็ได้ >= 2 ตราบใดที่จํานวนเต็มที่ถอดรหัสอยู่ภายใน uint64_t
ไม่มีการพยายามยืนยันอักขระที่ตรวจสอบของ Verhoeff (ดู VerificationPairingCode())
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
ยืนยันรหัสการจับคู่
WEAVE_ERROR VerifyPairingCode( const char *pairingCode, size_t pairingCodeLen )
ยืนยันรหัสการจับคู่ Weave กับอักขระตรวจสอบ
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
แสดงผลค่า |
|