Solicitud: algoritmo inverso MD5
Una breve descripción del algoritmo MD5 puede ser la siguiente: MD5 procesa la información de entrada en grupos de 512 bits y cada grupo se divide en 16 subgrupos de 32 bits. algoritmo La salida consta de cuatro bloques de 32 bits, que cuando se concatenan producirán un valor hash de 128 bits.
El primer paso, completar: si la longitud (bit) de la información de entrada no es igual a 448 después del resto de 512, debe completarla para que el resultado del resto de 512 sea igual al 448. El método de llenado es llenar un 1 y n 0. Después de completar, la longitud de la información es N*512+448 (bit);
El segundo paso es registrar la longitud de la información: use 64 bits para almacenar la longitud de la información antes de completarla. Estos 64 bits se suman después del resultado del primer paso, de modo que la longitud de la información pasa a ser N*512+448+64=(N+1)*512 bits.
El tercer paso es cargar los números mágicos estándar (cuatro enteros): los números mágicos estándar (orden físico) son (A=(01234567)16, B=(89ABCDEF)16, C=( FEDCBA98 )16, D=(76543210)16). Si está definido en el programa, debería ser (A=0X67452301L, B=0XEFCDAB89L, C=0X98BADCFEL, D=0X10325476L).