For the first time, this book discloses our theoretical reasoning and practice details on hash function cryptanalysis as well as their implication in information security, mainly based on the collision attack on MD5 function as an example. A complete and easily understandable theory for the newly developed signed differential representation and weak input difference selection is given. A complete procedure of constructing differential collision paths is described. Almost all weak input differences which are possible to launch collision attacks are selected step by step in this book for MD5 function. The fastest searching algorithms known so far for 1-block and 2-block collision attack on MD5 function are presented with their C++ source codes included for verification. Evolutionary computations are also considered in collision searching and some experiments are conducted to evaluate their efficacy on some Merkle-Damgård structured hash functions, such as MD5, SHA-1, SHA-2 and SM3, revealing some new weakness which can be further exploited in a genetic searching for collision attacks. Reading this book will benefit you for your education and research work on information security.