/* md5Update��MD5��������̣�inbuf��Ҫ�任���ֽڴ���inputlen�dz��ȣ���� ������getMD5ofStr���ã�����֮ǰ��Ҫ����md5init����˰�����Ƴ�private�� */ private void md5Update(byte[] inbuf, int inputLen) { int i, index, partLen; byte[] block = new byte[64]; index = (int) (count[0] >>> 3) & 0x3F; // /* Update number of bits */ if ((count[0] += (inputLen << 3)) < (inputLen << 3)) count[1]++; count[1] += (inputLen >>> 29); partLen = 64 - index; // Transform as many times as possible. if (inputLen >= partLen) { md5Memcpy(buffer, inbuf, index, 0, partLen); md5Transform(buffer); for (i = partLen; i + 63 < inputLen; i += 64) { md5Memcpy(block, inbuf, 0, i, 64); md5Transform(block); } index = 0; } else i = 0; /// * Buffer remaining input */ md5Memcpy(buffer, inbuf, index, i, inputLen - i); }