def _GenerateCRCTable():
poly = <NUM_LIT><EOL>table = [<NUM_LIT:0>] * <NUM_LIT><EOL>for i in range(<NUM_LIT>):<EOL><INDENT>crc = i<EOL>for j in range(<NUM_LIT:8>):<EOL><INDENT>if crc & <NUM_LIT:1>:<EOL><INDENT>crc = ((crc >> <NUM_LIT:1>) & <NUM_LIT>) ^ poly<EOL><DEDENT>else:<EOL><INDENT>crc = ((crc >> <NUM_LIT:1>) & <NUM_LIT>)<EOL><DEDENT><DEDENT>table[i] = crc<EOL><DEDENT>return table<EOL>
Generate a CRC-32 table.

        ZIP encryption uses the CRC32 one-byte primitive for scrambling some
        internal keys. We noticed that a direct implementation is faster than
        relying on binascii.crc32().