This function is the same as StringToArray with the extra functionality that this function is the counterpart of the function ArrayToStringMD5 and this function does check MD5 integrity of the strig before starting to convert back.