'Finds all known CRC functions that hashes a piece of data into a specific
checksum. It does this by trying all known CRC functions one after the other.
Arguments:
data(str): Data for which the checksum is known.
Example:
>>> find_crc_function(\'test\', 46197)
[<function crc_crc_16_dnp at ...>]'

@staticmethod
def find_crc_function(data, checksum):

    candidates = []
    for v in known.all_crcs.keys():
        func = getattr(crc, v)
        if (func(data) == checksum):
            candidates.append(func)
    return candidates
