implements of md5, codes from the network.