1. A non-transitory computer readable medium having stored thereon computer readable instructions for execution by a processor for detecting a known electronic file, the instructions configured for: receiving a portion of a file and extracting content from the portion; dividing the content into data blocks; further dividing each data block into all possible contiguous sub-blocks of fixed width; applying N functions to all the sub-blocks, resulting in N×T i , representations being assigned to each data block, T i being a number of sub-blocks for an i th data block, i varying from 1 to J, J being a number of data blocks; selecting one representation per block per function based on a pre-defined importance selection criteria that one of maximizes and minimizes the pre-defined criteria, resulting in N ×J representations being assigned to the portion of the file, wherein the pre-defined selection criteria corresponds to one of a highest hash value and a lowest hash value; assigning the N ×J representations as file portion imprints; comparing the file portion imprints to contents of a first memory containing a plurality of file imprints for known electronic files to be detected, the file imprints having been created using at least the N functions; and determining a match when at least one of the file portion imprints corresponds to a file imprint in the first memory.