1. A method of generating an intelligent hash for an entity, the method comprising: a computer processor: identifying the entity, wherein the entity is a file; generating a sequence of metalanguage instructions based on transformations of program code of the entity, the sequence of metalanguage instructions comprising at least one of: a high level transformation of the program code and an assembly language instruction; determining a plurality of frequency values for a plurality of subsequences of the sequence of metalanguage instructions, wherein a frequency value indicates a frequency at which an associated subsequence occurs in the sequence of metalanguage instructions based on transformations of program code of the entity; selecting a set of subsequences from the plurality of subsequences based at least in part on the plurality of frequency values; generating the intelligent hash for the entity based, at least in part, on the selected set of subsequences, wherein the intelligent hash is unique to the entity and is partially invariant to changes to the entity; and storing the intelligent hash on a storage device.