Get your hand into MD5..
by cisspfix on Oct.13, 2009, under Security
What is MD5?
MD5 is an algorithm, which is used to check the integrity of the data through the construction of a 128-bit message digest from the input data, which may be a message of any length and is claimed to be as only one of its kind to that specific data. MD5 algorithm was developed by Professor Ronald L. Rivest. This algorithm is originally created to use with digital signature applications, which requires that large files must be compressed by a secure method before being encrypted with a secret key, under a public key cryptosystem. MD5 is currently a standard, Internet Engineering Task Force (IETF) Request for Comments (RFC) 1321. It has been revealed that MD5 is not crash resistant; therefore MD5 algorithm is not suitable for the applications like SSL certificates or digital signatures that rely on this property. An MD5 hash is typically expressed as a 32 digit hexadecimal number. MD5 digests have been extensively used in the software industries to give assurance that the file, which is transferred has arrived unchanged. For example, file servers often provide a pre-computed MD5 checksum for the files, so that a user can compare the checksum of the downloaded file to it. Unix-based operating systems include MD5 sum utilities in their distribution packages, whereas Windows users use third-party applications. MD5 algorithm processes a variable-length message into a fixed-length output of 128 bits. The input message is broken up into pieces of 512-bit blocks; the message is padded so that its length is divisible by 512. The padding works as follows: first a single bit, 1, is appended to the end of the message. This is followed by as many zeros as are required to bring the length of the message up to 64 bits fewer than a multiple of 512. The remaining bits are filled up with a 64-bit integer representing the length of the original message, in bits.