The final step in the InChI code flow is the InChI generation, which can be divided in two parts. One is the InChI string whose information consists of layers which hold specific information about the chemical substance. The other part of the InChI generation process is an optional conversion ("hashing") of an InChI string into the InChIKey -a string with fixed length designed to facilitate search engine performance. Conversely, resolvers or relational databases are required for reconstruction of structural information from an InChIKey.