586 } else { |
586 } else { |
587 digestBuffer[ofs++] = input; |
587 digestBuffer[ofs++] = input; |
588 } |
588 } |
589 } |
589 } |
590 protected void engineUpdate(byte[] input, int offset, int len) { |
590 protected void engineUpdate(byte[] input, int offset, int len) { |
591 if (ofs + len > digestBuffer.length) { |
591 if (len > (digestBuffer.length - ofs)) { |
592 ofs = Integer.MAX_VALUE; |
592 ofs = Integer.MAX_VALUE; |
593 } else { |
593 } else { |
594 System.arraycopy(input, offset, digestBuffer, ofs, len); |
594 System.arraycopy(input, offset, digestBuffer, ofs, len); |
595 ofs += len; |
595 ofs += len; |
596 } |
596 } |
597 } |
597 } |
598 protected final void engineUpdate(ByteBuffer input) { |
598 protected final void engineUpdate(ByteBuffer input) { |
599 int inputLen = input.remaining(); |
599 int inputLen = input.remaining(); |
600 if (ofs + inputLen > digestBuffer.length) { |
600 if (inputLen > (digestBuffer.length - ofs)) { |
601 ofs = Integer.MAX_VALUE; |
601 ofs = Integer.MAX_VALUE; |
602 } else { |
602 } else { |
603 input.get(digestBuffer, ofs, inputLen); |
603 input.get(digestBuffer, ofs, inputLen); |
604 ofs += inputLen; |
604 ofs += inputLen; |
605 } |
605 } |