add md5 generate function