Wiegand 26-Bit Access Control Decoder Test Cases
60 test vectors for Wiegand 26-bit protocol decoding covering valid credentials, parity corruption, and single-bit data flips across facility codes 0–255.
1–60 of 60
Rows per page:
1 / 1
| # | example_id | scenario_type | facility_code | card_number | facility_code_bin | card_number_bin | first_12_bits | last_12_bits | expected_even_parity | expected_odd_parity | observed_even_parity | observed_odd_parity | full_26_bit_stream | parity_valid | parity_error_type | bit_flip_position | d0_pulse_count | d1_pulse_count | is_boundary_case | notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | valid | 12 | 345 | 1,100 | 101,011,001 | 11,000,000 | 101,011,001 | 0 | 0 | 0 | 0 | 1.10e+20 | true | none | 19 | 7 | false | Reference valid example | |
| 2 | 2 | valid | 45 | 1,024 | 101,101 | 10,000,000,000 | 1,011,010,000 | 10,000,000,000 | 0 | 0 | 0 | 0 | 1.01e+22 | true | none | 21 | 5 | false | Common mid-range valid example | |
| 3 | 3 | valid | 200 | 65,535 | 11,001,000 | 1.11e+15 | 110,010,001,111 | 111,111,111,111 | 1 | 1 | 1 | 1 | 1.11e+25 | true | none | 5 | 21 | true | Max card number | |
| 4 | 4 | valid | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 10 | true | none | 25 | 1 | true | Smallest nonzero card number | |
| 5 | 5 | valid | 255 | 0 | 11,111,111 | 0 | 111,111,110,000 | 0 | 0 | 1 | 0 | 1 | 1.11e+24 | true | none | 17 | 9 | true | Max facility code | |
| 6 | 6 | valid | 128 | 32,768 | 10,000,000 | 1.00e+15 | 100,000,001,000 | 0 | 0 | 1 | 0 | 1 | 1.00e+24 | true | none | 23 | 3 | true | Power-of-two boundary values | |
| 7 | 7 | bad_even | 12 | 345 | 1,100 | 101,011,001 | 11,000,000 | 101,011,001 | 0 | 0 | 1 | 0 | 1.00e+25 | false | even | 18 | 8 | false | Same decoded fields as row 1, but even parity corrupted | |
| 8 | 8 | bad_odd | 12 | 345 | 1,100 | 101,011,001 | 11,000,000 | 101,011,001 | 0 | 0 | 0 | 1 | 1.10e+20 | false | odd | 18 | 8 | false | Same decoded fields as row 1, but odd parity corrupted | |
| 9 | 9 | bad_both | 45 | 1,024 | 101,101 | 10,000,000,000 | 1,011,010,000 | 10,000,000,000 | 0 | 0 | 1 | 1 | 1.00e+25 | false | both | 19 | 7 | false | Both parity bits corrupted | |
| 10 | 10 | flip_data | 69 | 22,222 | 1,000,101 | 101,011,011,001,110 | 10,001,010,101 | 11,011,001,110 | 0 | 0 | 0 | 0 | 1.00e+23 | false | even | 6 | 14 | 12 | false | Single flipped data bit in first parity region |
| 11 | 11 | flip_data | 77 | 22,254 | 1,001,101 | 101,011,011,101,110 | 10,011,010,101 | 11,011,101,110 | 0 | 0 | 0 | 0 | 1.00e+23 | false | odd | 20 | 12 | 14 | false | Single flipped data bit in second parity region |
| 12 | 12 | flip_data | 3 | 61,439 | 11 | 1.11e+15 | 111,110 | 111,111,111,111 | 0 | 1 | 0 | 1 | 1.11e+18 | false | even | 13 | 8 | 18 | false | Boundary-adjacent bit flip at end of first parity region |
| 13 | 13 | flip_data | 3 | 63,487 | 11 | 1.11e+15 | 111,111 | 11,111,111,111 | 0 | 1 | 0 | 1 | 1.11e+18 | false | odd | 14 | 8 | 18 | false | Boundary-adjacent bit flip at start of second parity region |
| 14 | 14 | bad_odd | 57 | 3,278 | 111,001 | 110,011,001,110 | 1,110,010,000 | 110,011,001,110 | 0 | 0 | 0 | 1 | 1.11e+22 | false | odd | 14 | 12 | false | Odd parity bit intentionally corrupted | |
| 15 | 15 | valid | 125 | 29,256 | 1,111,101 | 111,001,001,001,000 | 11,111,010,111 | 1,001,001,000 | 1 | 0 | 1 | 0 | 1.01e+25 | true | none | 13 | 13 | false | Valid credential example | |
| 16 | 16 | bad_even | 52 | 11,395 | 110,100 | 10,110,010,000,011 | 1,101,000,010 | 110,010,000,011 | 0 | 0 | 1 | 0 | 1.00e+25 | false | even | 16 | 10 | false | Even parity bit intentionally corrupted | |
| 17 | 17 | valid | 16 | 3,905 | 10,000 | 111,101,000,001 | 100,000,000 | 111,101,000,001 | 1 | 1 | 1 | 1 | 1.00e+25 | true | none | 17 | 9 | false | Valid credential example | |
| 18 | 18 | bad_even | 119 | 3,478 | 1,110,111 | 110,110,010,110 | 11,101,110,000 | 110,110,010,110 | 0 | 0 | 1 | 0 | 1.01e+25 | false | even | 12 | 14 | false | Even parity bit intentionally corrupted | |
| 19 | 19 | valid | 214 | 28,893 | 11,010,110 | 111,000,011,011,101 | 110,101,100,111 | 11,011,101 | 0 | 1 | 0 | 1 | 1.10e+24 | true | none | 11 | 15 | false | Valid credential example | |
| 20 | 20 | bad_both | 142 | 851 | 10,001,110 | 1,101,010,011 | 100,011,100,000 | 1,101,010,011 | 0 | 1 | 1 | 0 | 1.10e+25 | false | both | 15 | 11 | false | Both parity bits intentionally corrupted | |
| 21 | 21 | valid | 81 | 55,392 | 1,010,001 | 1.10e+15 | 10,100,011,101 | 100,001,100,000 | 0 | 0 | 0 | 0 | 1.01e+23 | true | none | 17 | 9 | false | Valid credential example | |
| 22 | 22 | flip_data | 79 | 20,029 | 1,001,111 | 100,111,000,111,101 | 10,011,110,100 | 111,000,111,101 | 1 | 1 | 1 | 1 | 1.01e+25 | false | even | 12 | 10 | 16 | false | Random single-bit data corruption |
| 23 | 23 | valid | 52 | 12,156 | 110,100 | 10,111,101,111,100 | 1,101,000,010 | 111,101,111,100 | 0 | 0 | 0 | 0 | 1.10e+22 | true | none | 13 | 13 | false | Valid credential example | |
| 24 | 24 | bad_even | 183 | 45,082 | 10,110,111 | 1.01e+15 | 101,101,111,011 | 11,010 | 1 | 0 | 0 | 0 | 1.01e+24 | false | even | 14 | 12 | false | Even parity bit intentionally corrupted | |
| 25 | 25 | valid | 22 | 60,217 | 10,110 | 1.11e+15 | 101,101,110 | 101,100,111,001 | 0 | 0 | 0 | 0 | 1.01e+21 | true | none | 13 | 13 | false | Valid credential example | |
| 26 | 26 | bad_even | 193 | 10,328 | 11,000,001 | 10,100,001,011,000 | 110,000,010,010 | 100,001,011,000 | 0 | 1 | 1 | 1 | 1.11e+25 | false | even | 16 | 10 | false | Even parity bit intentionally corrupted | |
| 27 | 27 | bad_odd | 185 | 25,203 | 10,111,001 | 110,001,001,110,011 | 101,110,010,110 | 1,001,110,011 | 1 | 1 | 1 | 0 | 1.10e+25 | false | odd | 12 | 14 | false | Odd parity bit intentionally corrupted | |
| 28 | 28 | bad_both | 23 | 29,871 | 10,111 | 111,010,010,101,111 | 101,110,111 | 10,010,101,111 | 1 | 0 | 0 | 1 | 1.01e+21 | false | both | 11 | 15 | false | Both parity bits intentionally corrupted | |
| 29 | 29 | flip_data | 40 | 32,560 | 101,000 | 111,111,100,110,000 | 1,010,000,111 | 111,100,110,000 | 1 | 0 | 1 | 0 | 1.00e+25 | false | odd | 14 | 14 | 12 | false | Random single-bit data corruption |
| 30 | 30 | bad_even | 142 | 59,429 | 10,001,110 | 1.11e+15 | 100,011,101,110 | 100,000,100,101 | 1 | 1 | 0 | 1 | 1.00e+24 | false | even | 14 | 12 | false | Even parity bit intentionally corrupted | |
| 31 | 31 | valid | 186 | 21,319 | 10,111,010 | 101,001,101,000,111 | 101,110,100,101 | 1,101,000,111 | 1 | 1 | 1 | 1 | 1.10e+25 | true | none | 11 | 15 | false | Valid credential example | |
| 32 | 32 | bad_odd | 107 | 34,993 | 1,101,011 | 1.00e+15 | 11,010,111,000 | 100,010,110,001 | 0 | 0 | 0 | 1 | 1.10e+23 | false | odd | 14 | 12 | false | Odd parity bit intentionally corrupted | |
| 33 | 33 | valid | 36 | 22,431 | 100,100 | 101,011,110,011,111 | 1,001,000,101 | 11,110,011,111 | 0 | 0 | 0 | 0 | 1.00e+22 | true | none | 13 | 13 | false | Valid credential example | |
| 34 | 34 | valid | 125 | 21,417 | 1,111,101 | 101,001,110,101,001 | 11,111,010,101 | 1,110,101,001 | 0 | 1 | 0 | 1 | 1.11e+23 | true | none | 11 | 15 | false | Valid credential example | |
| 35 | 35 | bad_odd | 138 | 28,785 | 10,001,010 | 111,000,001,110,001 | 100,010,100,111 | 1,110,001 | 0 | 1 | 0 | 0 | 1.00e+24 | false | odd | 16 | 10 | false | Odd parity bit intentionally corrupted | |
| 36 | 36 | flip_data | 28 | 21,829 | 11,100 | 101,010,101,000,101 | 111,000,101 | 10,101,000,101 | 0 | 0 | 0 | 0 | 1.11e+21 | false | even | 12 | 16 | 10 | false | Random single-bit data corruption |
| 37 | 37 | valid | 205 | 35,093 | 11,001,101 | 1.00e+15 | 110,011,011,000 | 100,100,010,101 | 0 | 0 | 0 | 0 | 1.10e+24 | true | none | 15 | 11 | false | Valid credential example | |
| 38 | 38 | bad_odd | 161 | 27,869 | 10,100,001 | 110,110,011,011,101 | 101,000,010,110 | 110,011,011,101 | 1 | 1 | 1 | 0 | 1.10e+25 | false | odd | 12 | 14 | false | Odd parity bit intentionally corrupted | |
| 39 | 39 | valid | 202 | 60,142 | 11,001,010 | 1.11e+15 | 110,010,101,110 | 101,011,101,110 | 1 | 1 | 1 | 1 | 1.11e+25 | true | none | 9 | 17 | false | Valid credential example | |
| 40 | 40 | bad_odd | 71 | 32,325 | 1,000,111 | 111,111,001,000,101 | 10,001,110,111 | 111,001,000,101 | 1 | 1 | 1 | 0 | 1.01e+25 | false | odd | 12 | 14 | false | Odd parity bit intentionally corrupted | |
| 41 | 41 | flip_data | 134 | 54,107 | 10,000,110 | 1.10e+15 | 100,001,101,101 | 1,101,011,011 | 0 | 1 | 0 | 1 | 1.00e+24 | false | odd | 14 | 12 | 14 | false | Random single-bit data corruption |
| 42 | 42 | flip_data | 177 | 28,746 | 10,110,001 | 111,000,001,001,010 | 101,100,010,111 | 1,001,010 | 0 | 0 | 0 | 0 | 1.01e+24 | false | even | 6 | 16 | 10 | false | Random single-bit data corruption |
| 43 | 43 | bad_both | 252 | 11,915 | 11,111,100 | 10,111,010,001,011 | 111,111,000,010 | 111,010,001,011 | 1 | 0 | 0 | 1 | 1.11e+24 | false | both | 11 | 15 | false | Both parity bits intentionally corrupted | |
| 44 | 44 | bad_even | 56 | 20,033 | 111,000 | 100,111,001,000,001 | 1,110,000,100 | 111,001,000,001 | 0 | 0 | 1 | 0 | 1.00e+25 | false | even | 16 | 10 | false | Even parity bit intentionally corrupted | |
| 45 | 45 | valid | 216 | 8,326 | 11,011,000 | 10,000,010,000,110 | 110,110,000,010 | 10,000,110 | 1 | 0 | 1 | 0 | 1.11e+25 | true | none | 17 | 9 | false | Valid credential example | |
| 46 | 46 | flip_data | 111 | 32,953 | 1,101,111 | 1.00e+15 | 11,011,111,000 | 10,111,001 | 0 | 0 | 0 | 0 | 1.10e+23 | false | even | 2 | 14 | 12 | false | Random single-bit data corruption |
| 47 | 47 | bad_both | 58 | 34,973 | 111,010 | 1.00e+15 | 1,110,101,000 | 100,010,011,101 | 1 | 1 | 0 | 0 | 1.11e+22 | false | both | 15 | 11 | false | Both parity bits intentionally corrupted | |
| 48 | 48 | valid | 174 | 14,621 | 10,101,110 | 11,100,100,011,101 | 101,011,100,011 | 100,100,011,101 | 1 | 1 | 1 | 1 | 1.10e+25 | true | none | 11 | 15 | false | Valid credential example | |
| 49 | 49 | valid | 80 | 59,470 | 1,010,000 | 1.11e+15 | 10,100,001,110 | 100,001,001,110 | 1 | 0 | 1 | 0 | 1.01e+25 | true | none | 15 | 11 | false | Valid credential example | |
| 50 | 50 | valid | 134 | 23,416 | 10,000,110 | 101,101,101,111,000 | 100,001,100,101 | 101,101,111,000 | 1 | 0 | 1 | 0 | 1.10e+25 | true | none | 13 | 13 | false | Valid credential example | |
| 51 | 51 | flip_data | 54 | 38,989 | 110,110 | 1.00e+15 | 1,101,101,001 | 100,001,001,101 | 0 | 1 | 0 | 1 | 1.10e+22 | false | odd | 18 | 14 | 12 | false | Random single-bit data corruption |
| 52 | 52 | valid | 101 | 20,032 | 1,100,101 | 100,111,001,000,000 | 11,001,010,100 | 111,001,000,000 | 1 | 1 | 1 | 1 | 1.01e+25 | true | none | 15 | 11 | false | Valid credential example | |
| 53 | 53 | bad_even | 82 | 74 | 1,010,010 | 1,001,010 | 10,100,100,000 | 1,001,010 | 1 | 0 | 0 | 0 | 1.01e+23 | false | even | 20 | 6 | false | Even parity bit intentionally corrupted | |
| 54 | 54 | valid | 250 | 2,552 | 11,111,010 | 100,111,111,000 | 111,110,100,000 | 100,111,111,000 | 0 | 0 | 0 | 0 | 1.11e+24 | true | none | 13 | 13 | false | Valid credential example | |
| 55 | 55 | valid | 185 | 40,306 | 10,111,001 | 1.00e+15 | 101,110,011,001 | 110,101,110,010 | 1 | 0 | 1 | 0 | 1.10e+25 | true | none | 11 | 15 | false | Valid credential example | |
| 56 | 56 | valid | 123 | 10,322 | 1,111,011 | 10,100,001,010,010 | 11,110,110,010 | 100,001,010,010 | 1 | 1 | 1 | 1 | 1.01e+25 | true | none | 13 | 13 | false | Valid credential example | |
| 57 | 57 | flip_data | 248 | 9,007 | 11,111,000 | 10,001,100,101,111 | 111,110,000,010 | 1,100,101,111 | 0 | 1 | 0 | 1 | 1.11e+24 | false | odd | 19 | 12 | 14 | false | Random single-bit data corruption |
| 58 | 58 | bad_odd | 64 | 16,828 | 1,000,000 | 100,000,110,111,100 | 10,000,000,100 | 110,111,100 | 0 | 1 | 0 | 0 | 1.00e+23 | false | odd | 18 | 8 | false | Odd parity bit intentionally corrupted | |
| 59 | 59 | valid | 84 | 34,741 | 1,010,100 | 1.00e+15 | 10,101,001,000 | 11,110,110,101 | 0 | 1 | 0 | 1 | 1.01e+23 | true | none | 13 | 13 | false | Valid credential example | |
| 60 | 60 | flip_data | 216 | 27,761 | 11,011,000 | 110,110,001,110,001 | 110,110,000,110 | 110,001,110,001 | 0 | 0 | 0 | 0 | 1.10e+24 | false | odd | 25 | 14 | 12 | false | Random single-bit data corruption |
Double-click to expand