Refine search
/** * Calculates digest for a file using provided algorithm. */ public static byte[] digest(final File file, MessageDigest algorithm) throws IOException { algorithm.reset(); FileInputStream fis = new FileInputStream(file); BufferedInputStream bis = new BufferedInputStream(fis); DigestInputStream dis = new DigestInputStream(bis, algorithm); try { while (dis.read() != -1) { } } finally { StreamUtil.close(fis); } return algorithm.digest(); }
@Override public void close() throws IOException { super.close(); closed = true; if ( byteOffset > 0 ) { checksums.add(digestInputStream.getMessageDigest().digest()); } } }
try { for (Map.Entry<File, Object> e : includeFileMap.entrySet()) { messageDigest.reset(); File src = e.getKey(); if (!isCondition) { DigestInputStream dis = new DigestInputStream(fis, messageDigest); while (dis.read(buf, 0, readBufferSize) != -1) { dis.close(); fis.close(); fis = null; byte[] fileDigest = messageDigest.digest(); if (totalproperty != null) { allDigests.put(src, fileDigest); messageDigest.reset(); for (File src : keyArray) {
protected byte[] hash(InputStream input) throws SdkClientException { try { MessageDigest md = getMessageDigestInstance(); @SuppressWarnings("resource") DigestInputStream digestInputStream = new SdkDigestInputStream( input, md); byte[] buffer = new byte[1024]; while (digestInputStream.read(buffer) > -1) ; return digestInputStream.getMessageDigest().digest(); } catch (Exception e) { throw new SdkClientException( "Unable to compute hash while signing request: " + e.getMessage(), e); } }
final MessageDigest digest = Constants.newMessageDigest(); try (BufferedReader br = new BufferedReader(new InputStreamReader( new DigestInputStream(new FileInputStream(packedRefsFile), digest), UTF_8))) { try { return new PackedRefList(parsePackedRefs(br), snapshot, ObjectId.fromRaw(digest.digest())); } catch (IOException e) { if (FileUtils.isStaleFileHandleInCausalChain(e)
boolean rv = false; try { in = new BufferedInputStream(new FileInputStream(_file)); in.mark(10); throw new IOException("Not an su3 file"); skip(in, 1); int foo = in.read(); if (foo != FILE_VERSION) throw new IOException("bad file version"); skip(in, 1); int sigTypeCode = in.read(); _sigType = SigType.getByCode(sigTypeCode); if (_sigType == null) in.reset(); MessageDigest md = _sigType.getDigestInstance(); DigestInputStream din = new DigestInputStream(in, md); in = din; if (!_headerVerified) byte[] sha = md.digest(); din.on(false); Signature signature = new Signature(_sigType); signature.readBytes(in);
public static String digest32(File src) throws IOException { if (src == null) { return null; } MessageDigest messageDigest = checkAlgorithm(); InputStream fis = null; DigestInputStream dis = null; try { fis = new FileInputStream(src); dis = new DigestInputStream(fis, messageDigest); byte[] buffer = new byte[2048]; while (dis.read(buffer) > 0); messageDigest = dis.getMessageDigest(); } finally { if (fis != null) { fis.close(); } if (dis != null) { dis.close(); } } return IoUtils.bs2H(messageDigest.digest()); }
private void digestDirectory(MessageDigest md, File base, File file) throws Exception { File fullFile = new File(base, file.getPath()); md.update(file.getPath().getBytes("UTF-8")); if (fullFile.isDirectory()) { String[] files = fullFile.list(); Arrays.sort(files); for (String f : files) { digestDirectory(md, base, new File(file, f)); } } else { MessageDigest fmd = MessageDigest.getInstance(md.getAlgorithm()); try (InputStream fis = new FileInputStream(fullFile); InputStream is = new DigestInputStream(fis, fmd)) { byte[] buf = new byte[1024]; int n; while ((n = is.read(buf)) != -1) { // do nothing } md.update(fmd.digest()); } } }
if (getChecksum) { digester = MD5Hash.getDigester(); stream = new DigestInputStream(stream, digester); num = stream.read(buf); if (num > 0) { received += num; xferSec, xferKb / xferSec)); } finally { stream.close(); for (FileOutputStream fos : outputStreams) { long flushStartTime = Time.monotonicNow(); MD5Hash computedDigest = new MD5Hash(digester.digest());
protected DigestInputStream initDataInputStream() throws Exception { final MessageDigest messageDigest = MessageDigest.getInstance(config.getChecksumAlgorithm()); final FileInputStream fileInputStream = new FileInputStream(dataFile); final BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream); return new DigestInputStream(bufferedInputStream, messageDigest); }
@Override public void close() throws IOException { inputStream.close(); LOG.info( "closing stream, testing digest: [{}]", digestHex == null ? "none" : digestHex ); if( digestHex == null ) return; String digestHex = new String( Hex.encodeHex( ( (DigestInputStream) inputStream ).getMessageDigest().digest() ) ); if( !digestHex.equals( this.digestHex ) ) { String message = "given digest: [" + this.digestHex + "], does not match input stream digest: [" + digestHex + "]"; LOG.error( message ); throw new IOException( message ); } }
private Pair<String, Long> calculateFileHashAndSize(InputStream in) { try (CountingInputStream countingStream = new CountingInputStream(in)) { MessageDigest md = MessageDigest.getInstance("MD5"); try (InputStream digestInputStream = new DigestInputStream( countingStream, md)) { byte[] buffer = new byte[256]; while (digestInputStream.read(buffer) > 0) { // continue } } String hash = new String(Hex.encodeHex(md.digest())); return new ImmutablePair<>(hash, countingStream.getByteCount()); } catch (NoSuchAlgorithmException | IOException e) { throw new RuntimeException(e); } }
/** * This method will read all the bytes in the stream and digest them. * It will attempt to close the stream as well. */ public static Sha256Hash createFrom(InputStream is) throws IOException { try { MessageDigest digest = getMessageDigest(); DigestInputStream digestInputStream = new DigestInputStream(is, digest); ByteStreams.copy(digestInputStream, ByteStreams.nullOutputStream()); digestInputStream.close(); return createFrom(digest); } finally { try { is.close(); } catch (IOException e) {/* don't throw from finally*/} } }
digest.update(_identity.toByteArray()); din = new DigestInputStream(in, digest); } else { digest = null; int numAddresses = din.read(); for (int i = 0; i < numAddresses; i++) { RouterAddress address = new RouterAddress(); int numPeers = din.read(); if (numPeers <= 0) { _peers = null; hash.setData(digest.digest()); _isValid = DSAEngine.getInstance().verifySignature(_signature, hash, _identity.getSigningPublicKey()); _validated = true;
MessageDigest md = MessageDigest.getInstance("MD5"); try (InputStream is = Files.newInputStream(Paths.get("file.txt")); DigestInputStream dis = new DigestInputStream(is, md)) { /* Read decorated stream (dis) to EOF as normal... */ } byte[] digest = md.digest();
@SneakyThrows({ IOException.class }) private static void addFileToDigest(MessageDigest digest, Path path) { try (InputStream digestInputStream = new DigestInputStream(new BufferedInputStream(Files.newInputStream(path)), digest)) { while (digestInputStream.read() != -1) { } } }
private String shaDigestForFile(String filename) throws IOException { DigestInputStream str = digestInputStream(inputStreamForFile(filename)); byte[] dummy = new byte[4096]; for (int i = 1; i > 0; i = str.read(dummy)); str.close(); return HexBin.bytesToString(str.getMessageDigest().digest()); }
/** * Digests the current part of the message, if necessary, and resets digest * state. */ private void digestPart() { if ( byteOffset >= MB ) { byteOffset = 0; checksums.add(digestInputStream.getMessageDigest().digest()); digestInputStream.getMessageDigest().reset(); } }
private static HashId createHashId(InputStream stream) throws IOException { try (DigestInputStream digestInputStream = new DigestInputStream( stream, HashUtilities.getDefaultMessageDigest())) { byte buffer[] = new byte[256]; while (digestInputStream.read(buffer) >= 0) ; byte[] hashBytes = digestInputStream.getMessageDigest().digest(); String hashString = convertByteArrayToString(hashBytes); return new HashId(HashUtilities.getDefaultMessageDigestAlgorithm(), hashString); } }
private byte[] recomputeDigest(ByteArrayOutputStream baos, MessageDigest messageDigest) throws IOException { try (InputStream is = new ByteArrayInputStream(baos.toByteArray()); DigestInputStream dis = new DigestInputStream(is, messageDigest)) { CRLParser parser = new CRLParser(); parser.processDigest(dis); return dis.getMessageDigest().digest(); } }