/** * Returns the value of the CRC32 as a hex string. */ public String getCRC32 () { return padLeadingZeroes (Long.toHexString (_crc32.getValue ()), 8); }
/** * Creates a Checksummer, with instances of each of * CRC32, MD5 MessageDigest, and SHA-1 MessageDigest. * If one or both of the MessageDigests aren't supported * on the current platform, they are left as null. * * @see CRC32 * @see MessageDigest */ public Checksummer () { reset (); }
/** * Updates the checksum with the argument. * Called when an unsigned byte is available. */ @Override public void update (int b) { byte sb; if (b > 127) { sb = (byte) (b - 256); } else { sb = (byte) b; } update (sb); }
ckSummer = new Checksummer(); ckSummer.update(ch); info.setChecksum(new Checksum(ckSummer.getCRC32(), ChecksumType.CRC32)); String value = ckSummer.getMD5(); if (value != null) { info.setChecksum(new Checksum(value, ChecksumType.MD5)); value = ckSummer.getSHA1(); if (value != null) { info.setChecksum(new Checksum(value, ChecksumType.SHA1));
/** * Set the checksum values. * @param ckSummer Checksummer object * @param info RepInfo object */ protected static void setChecksums (Checksummer ckSummer, RepInfo info) { if (ckSummer != null){ info.setChecksum (new Checksum (ckSummer.getCRC32 (), ChecksumType.CRC32)); String value = ckSummer.getMD5 (); if (value != null) { info.setChecksum (new Checksum (value, ChecksumType.MD5)); } if ((value = ckSummer.getSHA1 ()) != null) { info.setChecksum (new Checksum (value, ChecksumType.SHA1)); } } }
protected void setupDataStream(final InputStream stream, final RepInfo info) { /* Are checksums requested and ensure they're not already calculated * when handling a temp file. */ if (_je.getChecksumFlag() && info.getChecksum().isEmpty()) { _ckSummer = new Checksummer (); _cstream = new ChecksumInputStream (stream, _ckSummer); _dstream = getBufferedDataStream (_cstream, _app != null ? _je.getBufferSize () : 0); } else { _dstream = getBufferedDataStream (stream, _app != null ? _je.getBufferSize () : 0); } }
if (_je != null && _je.getChecksumFlag() && info.getChecksum().isEmpty()) { ckSummer = new Checksummer(); _cstream = new ChecksumInputStream(stream, ckSummer); _dstream = getBufferedDataStream(_cstream, info.setChecksum(new Checksum(ckSummer.getCRC32(), ChecksumType.CRC32)); String value = ckSummer.getMD5(); if (value != null) { info.setChecksum(new Checksum(value, ChecksumType.MD5)); if ((value = ckSummer.getSHA1()) != null) { info.setChecksum(new Checksum(value, ChecksumType.SHA1));
Checksummer ckSummer = new Checksummer(); calcRAChecksum(ckSummer, raf); setChecksums(ckSummer, info);
if (_je != null && _je.getChecksumFlag() && info.getChecksum().isEmpty()) { _ckSummer = new Checksummer(); _cstream = new ChecksumInputStream(stream, _ckSummer); _dstream = getBufferedDataStream(_cstream, info.setChecksum(new Checksum(_ckSummer.getCRC32(), ChecksumType.CRC32)); String value = _ckSummer.getMD5(); if (value != null) { info.setChecksum(new Checksum(value, ChecksumType.MD5)); if ((value = _ckSummer.getSHA1()) != null) { info.setChecksum(new Checksum(value, ChecksumType.SHA1));
if (_je != null && _je.getChecksumFlag() && info.getChecksum().isEmpty()) { ckSummer = new Checksummer(); calcRAChecksum(ckSummer, raf); setChecksums(ckSummer, info);
/** * Reads a byte from the subsumed stream, updating * the byte count and the checksums. */ @Override public int read() throws IOException { int ch = subsumedStream.read (); if (ch >= 0) { _nBytes++; if (_cksummer != null) { _cksummer.update (ch); } } return ch; }
/** * Returns the value of the MD5 digest as a hex string. * Returns null if the digest is not available. */ public String getMD5 () { String value = null; if (_md5 != null) { StringBuffer buffer = new StringBuffer (); byte [] digest = _md5.digest (); for (int i=0; i<digest.length; i++) { int un = (digest[i] >= 0) ? digest[i] : 256+digest[i]; buffer.append (padLeadingZeroes (Integer.toHexString (un), 2)); } value = buffer.toString (); } return value; }
if (_je != null && _je.getChecksumFlag () && info.getChecksum ().isEmpty()) { _ckSummer = new Checksummer (); info.setChecksum (new Checksum (_ckSummer.getCRC32 (), ChecksumType.CRC32)); String value = _ckSummer.getMD5 (); if (value != null) { info.setChecksum (new Checksum (value, ChecksumType.MD5)); if ((value = _ckSummer.getSHA1 ()) != null) { info.setChecksum (new Checksum (value, ChecksumType.SHA1));
Checksummer ckSummer = new Checksummer(); calcRAChecksum(ckSummer, raf); setChecksums(ckSummer, info);
/** * Reads some number of bytes from the input stream and * stores them into the buffer array b. The number of * bytes actually read is returned as an integer. * * All bytes read are fed through the checksummer. */ @Override public int read(byte[] b) throws IOException { int len = subsumedStream.read (b); // Careful here -- don't want to add -1 bytes at EOF if (len > 0) { if (_cksummer != null) { _cksummer.update (b); } _nBytes += len; } return len; }
/** * Returns the value of the SHA-1 digest as a hex string. * Returns null if the digest is not available. */ public String getSHA1 () { String value = null; if (_sha1 != null) { StringBuffer buffer = new StringBuffer (); byte [] digest = _sha1.digest (); for (int i=0; i<digest.length; i++) { int un = (digest[i] >= 0) ? digest[i] : 256+digest[i]; buffer.append (padLeadingZeroes (Integer.toHexString (un), 2)); } value = buffer.toString (); } return value; }
if (_app != null && _je.getChecksumFlag () && info.getChecksum().isEmpty()) { _ckSummer = new Checksummer (); _cstream = new ChecksumInputStream (stream, _ckSummer); _dstream = getBufferedDataStream (_cstream, _app != null ? info.setChecksum (new Checksum (_ckSummer.getCRC32 (), ChecksumType.CRC32)); String value = _ckSummer.getMD5 (); if (value != null) { info.setChecksum (new Checksum (value, ChecksumType.MD5)); if ((value = _ckSummer.getSHA1 ()) != null) { info.setChecksum (new Checksum (value, ChecksumType.SHA1));
if (_je != null && _je.getChecksumFlag () && info.getChecksum ().size () == 0) { _ckSummer = new Checksummer (); _cstream = new ChecksumInputStream (stream, _ckSummer); _dstream = getBufferedDataStream (_cstream, _je != null ?
/** * Reads up to len bytes of data from the input stream * into an array of bytes. An attempt is made to read as * many as len bytes, but a smaller number may be read, * possibly zero. The number of bytes actually read is * returned as an integer. * * All bytes read are fed through the checksummer. */ @Override public int read(byte[] b, int off, int len) throws IOException { len = subsumedStream.read (b, off, len); // Careful here -- don't want to add -1 bytes at EOF if (len > 0) { if (_cksummer != null) { _cksummer.update (b, off, len); } _nBytes += len; } return len; }
if (_je != null && _je.getChecksumFlag() && info.getChecksum().isEmpty()) { _ckSummer = new Checksummer(); _cstream = new ChecksumInputStream(stream, _ckSummer); _dstream = getBufferedDataStream(_cstream, info.setChecksum(new Checksum(_ckSummer.getCRC32(), ChecksumType.CRC32)); String value = _ckSummer.getMD5(); if (value != null) { info.setChecksum(new Checksum(value, ChecksumType.MD5)); if ((value = _ckSummer.getSHA1()) != null) { info.setChecksum(new Checksum(value, ChecksumType.SHA1));