本文整理汇总了Java中com.google.common.hash.HashingInputStream类的典型用法代码示例。如果您正苦于以下问题:Java HashingInputStream类的具体用法?Java HashingInputStream怎么用?Java HashingInputStream使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
HashingInputStream类属于com.google.common.hash包,在下文中一共展示了HashingInputStream类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: load
import com.google.common.hash.HashingInputStream; //导入依赖的package包/类
@SuppressWarnings (
value = {"resource"}
)
public Model load(InputStream is) throws Exception {
CountingInputStream countingIs = new CountingInputStream(is);
HashingInputStream hashingIs = new HashingInputStream(Hashing.md5(), countingIs);
ModelEvaluator<?> evaluator = unmarshal(hashingIs, this.validate);
PMML pmml = evaluator.getPMML();
for(Class<? extends Visitor> visitorClazz : this.visitorClazzes){
Visitor visitor = visitorClazz.newInstance();
visitor.applyTo(pmml);
}
evaluator.verify();
Model model = new Model(evaluator);
model.putProperty(Model.PROPERTY_FILE_SIZE, countingIs.getCount());
model.putProperty(Model.PROPERTY_FILE_MD5SUM, (hashingIs.hash()).toString());
return model;
}
开发者ID:openscoring,项目名称:openscoring,代码行数:27,代码来源:ModelRegistry.java
示例2: hash
import com.google.common.hash.HashingInputStream; //导入依赖的package包/类
/**
* hash input with sha256
*
* @param is a stream of bytes to hash
* @return hash result
*/
public static byte[] hash(InputStream is) {
HashingInputStream his = new HashingInputStream(Hashing.sha256(), is);
try {
ByteStreams.copy(his, ByteStreams.nullOutputStream());
return his.hash().asBytes();
} catch (IOException e) {
throw new RuntimeException("Unable to compute hash while signing request: " + e.getMessage(), e);
}
}
开发者ID:esiqveland,项目名称:okhttp-awssigner,代码行数:16,代码来源:JCloudTools.java
示例3: hash
import com.google.common.hash.HashingInputStream; //导入依赖的package包/类
/**
* Computes the hash of the given stream using the given algorithm.
*/
public static HashCode hash(final HashAlgorithm algorithm, final InputStream inputStream) throws IOException {
checkNotNull(algorithm);
checkNotNull(inputStream);
try (HashingInputStream hashingStream = new HashingInputStream(algorithm.function(), inputStream)) {
ByteStreams.copy(hashingStream, ByteStreams.nullOutputStream());
return hashingStream.hash();
}
}
开发者ID:sonatype,项目名称:nexus-public,代码行数:13,代码来源:Hashes.java
示例4: interrogate
import com.google.common.hash.HashingInputStream; //导入依赖的package包/类
@Override public String interrogate(InputStream rawInputStream,
Optional<List<ZipMiningHandler.Entry>> handlers) throws IOException {
final HashingInputStream hashingInputStream = new HashingInputStream(fileIdHash, rawInputStream);
final ZipInputStream zipInputStream = new ZipInputStream(hashingInputStream);
ZipEntry zipEntry;
while ((zipEntry = zipInputStream.getNextEntry()) != null) {
if (handlers != null) {
final String name = zipEntry.getName();
handlers.orElse(Collections.emptyList()).stream()
.filter(e -> e.getPath().matcher(name).matches())
.forEach(e -> {
final ZipMiningHandler handler = e.getHandler();
try {
handler.handleZipContentFile(name, StreamUtils.nonClosing(zipInputStream));
} catch (IOException | MccyException e1) {
LOG.warn("Handler {} failed to process zip content file named {}", handler, e1);
}
});
}
}
// Need to read off the remaining content of the zip file to generate the full hash
final byte[] buffer = new byte[1024];
//noinspection StatementWithEmptyBody
while (hashingInputStream.read(buffer) != -1){}
return hashingInputStream.hash().toString();
}
开发者ID:moorkop,项目名称:mccy-engine,代码行数:31,代码来源:ZipMiningServiceImpl.java
示例5: testRawHashOfFile
import com.google.common.hash.HashingInputStream; //导入依赖的package包/类
@Test
public void testRawHashOfFile() throws Exception {
final ClassPathResource worldResource = new ClassPathResource("NewWorld.zip");
try (InputStream in = worldResource.getInputStream()) {
final HashingInputStream hashingInputStream = new HashingInputStream(Hashing.md5(), in);
final byte[] buffer = new byte[1024];
while (hashingInputStream.read(buffer) != -1){}
assertEquals("2a9eaf43128d05bbebbb9a0d4b9f8892", hashingInputStream.hash().toString());
}
}
开发者ID:moorkop,项目名称:mccy-engine,代码行数:13,代码来源:ZipMiningServiceTest.java
示例6: copy
import com.google.common.hash.HashingInputStream; //导入依赖的package包/类
private static String copy(ProtocolHandler sourceProtocolHandler, ProtocolHandler destinationProtocolHandler, long contentLength)
throws IOException, NoSuchAlgorithmException {
try (InputStream inputStream = sourceProtocolHandler.openStream(); HashingInputStream hashingInputStream = new HashingInputStream(Hashing.md5(), inputStream);
CountingInputStream countingInputStream = new CountingInputStream(hashingInputStream)) {
destinationProtocolHandler.copyTo(countingInputStream, contentLength);
return hashingInputStream.hash().toString();
}
}
开发者ID:projectomakase,项目名称:omakase,代码行数:10,代码来源:ManifestTool.java
示例7: process
import com.google.common.hash.HashingInputStream; //导入依赖的package包/类
@Nonnull
public String process(@Nonnull InputStream in) throws IOException {
checkNotNull(in);
try {
HashingInputStream hashIn = new HashingInputStream(function, in);
IOUtils.copy(hashIn, ByteStreams.nullOutputStream());
return encoding.encode(hashIn.hash().asBytes());
} finally {
IOUtils.closeQuietly(in);
}
}
开发者ID:lithiumtech,项目名称:flow,代码行数:12,代码来源:HashEncoder.java
示例8: storeChunk
import com.google.common.hash.HashingInputStream; //导入依赖的package包/类
private long storeChunk(BackupMetadata backup, InputStream in, final String path, final String filename, final CompressionCodec compressionCodec) throws IOException {
final CountingOutputStream countingOut = new CountingOutputStream(localStorage.upload(backup.getService(), path));
final StreamCodec codec = codecFactory.get(compressionCodec, backup.getModelVersion() < 1);
try (final OutputStream out = codec.output(countingOut)) {
final HashingInputStream md5in = new HashingInputStream(Hashing.md5(), in);
LOG.debug("Storing {} chunk {} locally", backup, path);
final long originalSize = ByteStreams.copy(md5in, out);
if (originalSize > 0) {
final long size = countingOut.getCount();
final String hash = md5in.hash().toString();
this.update(backup, new Function<BackupMetadata, BackupMetadata>() {
@Override
public BackupMetadata apply(BackupMetadata input) {
input.addChunk(filename, path, originalSize, size, hash, getNodeName(), compressionCodec);
return input;
}
});
LOG.debug("Stored {} chunk {} (originalSize: {}, size: {}) locally", backup, path, originalSize, size);
// Upload this chunk offsite in another thread
this.uploadChunk(backup, path);
}
return originalSize;
}
}
开发者ID:yammer,项目名称:backups,代码行数:33,代码来源:BackupProcessor.java
示例9: fetchResource
import com.google.common.hash.HashingInputStream; //导入依赖的package包/类
private void fetchResource(String name, File target) throws IOException {
try (final HashingInputStream in = new HashingInputStream(HASH_FUNCTION, fetchResource(name))) {
Files.asByteSink(target).writeFrom(in);
LOG.debug("Downloaded {} (hash: {})", name, in.hash());
}
}
开发者ID:reines,项目名称:rsc,代码行数:8,代码来源:ResourceStore.java
示例10: manifestContainsEntryHashesOfHashedEntries
import com.google.common.hash.HashingInputStream; //导入依赖的package包/类
@Test
public void manifestContainsEntryHashesOfHashedEntries() throws IOException {
String entryName = "A";
InputStream contents = new ByteArrayInputStream("contents".getBytes(StandardCharsets.UTF_8));
try (HashingInputStream hashingContents =
new HashingInputStream(Hashing.murmur3_128(), contents)) {
writer.writeEntry(entryName, hashingContents);
writer.close();
String expectedHash = hashingContents.hash().toString();
assertEntryHash(entryName, expectedHash);
}
}
开发者ID:facebook,项目名称:buck,代码行数:14,代码来源:CustomJarOutputStreamTest.java
示例11: manifestContainsEntryHashesOfEmptyHashedEntries
import com.google.common.hash.HashingInputStream; //导入依赖的package包/类
@Test
public void manifestContainsEntryHashesOfEmptyHashedEntries() throws IOException {
String entryName = "A";
InputStream contents = new ByteArrayInputStream(new byte[0]);
try (HashingInputStream hashingContents =
new HashingInputStream(Hashing.murmur3_128(), contents)) {
writer.putNextEntry(new CustomZipEntry(entryName));
writer.closeEntry();
writer.close();
String expectedHash = hashingContents.hash().toString();
assertEntryHash(entryName, expectedHash);
}
}
开发者ID:facebook,项目名称:buck,代码行数:15,代码来源:CustomJarOutputStreamTest.java
示例12: testInterceptFiles
import com.google.common.hash.HashingInputStream; //导入依赖的package包/类
@Test
public void testInterceptFiles() throws Exception {
final ClassPathResource worldResource = new ClassPathResource("NewWorld.zip");
final String id;
CompletableFuture<String> hashOfLevelDat = new CompletableFuture<>();
final String[] expectedDataDatFiles = new String[]{
"Mineshaft.dat",
"Temple.dat",
"villages.dat",
"villages_end.dat",
"villages_nether.dat"
};
AtomicInteger dataDatCount = new AtomicInteger();
try (InputStream worldIn = worldResource.getInputStream()) {
id = service.interrogate(worldIn, ZipMiningHandler.listBuilder()
.add(".*/level.dat", ((path, in) -> {
final HashingInputStream hashLevelDatIn = new HashingInputStream(Hashing.md5(), in);
byte[] buffer = new byte[1024];
try {
while (hashLevelDatIn.read(buffer) != -1){}
hashOfLevelDat.complete(hashLevelDatIn.hash().toString());
} catch (IOException e) {
hashOfLevelDat.completeExceptionally(e);
}
}))
.add(".*/data/.*\\.dat", (path, in) -> {
final int pos = path.lastIndexOf("/");
assertThat(path.substring(pos + 1), Matchers.isIn(expectedDataDatFiles));
dataDatCount.incrementAndGet();
})
.build());
assertTrue(hashOfLevelDat.isDone());
assertEquals("7661c3e52e999aeb6b5593072d189be0", hashOfLevelDat.get());
assertEquals(5L, dataDatCount.longValue());
}
assertEquals("2a9eaf43128d05bbebbb9a0d4b9f8892", id);
}
开发者ID:moorkop,项目名称:mccy-engine,代码行数:46,代码来源:ZipMiningServiceTest.java
示例13: store
import com.google.common.hash.HashingInputStream; //导入依赖的package包/类
public void store(BackupMetadata backup, Optional<String> contentMD5, InputStream in, String filename) throws IOException {
final Timer.Context context = STORE_TIMES.time();
try {
ACTIVE_STORES.inc();
incrementPendingStores(backup, filename);
// If the file is already compressed then don't bother compressing it again
final boolean originallyCompressed = isCompressed(filename);
final CompressionCodec compressionCodec = originallyCompressed ? CompressionCodec.NONE : codecFactory.getDefaultCompressionCodec();
LOG.trace("Compressing {} file {} using {}", backup, filename, compressionCodec);
try (final HashingInputStream md5in = new HashingInputStream(Hashing.md5(), in)) {
// Store all chunks
final long size = this.storeChunks(backup, md5in, filename, compressionCodec);
if (size == 0) {
throw new NoContentException(String.format("No content received for %s (service: %s, id: %s)", filename, backup.getService(), backup.getId()));
}
STORE_SIZES.update(size);
final String calculatedMD5 = md5in.hash().toString();
if (contentMD5.isPresent() && !calculatedMD5.equalsIgnoreCase(contentMD5.get())) {
throw new InvalidMD5Exception(contentMD5.get(), calculatedMD5);
}
}
decrementPendingStores(backup, filename);
fireBackupUploaded(backup, filename);
}
catch (final Exception e) {
this.update(backup, new Function<BackupMetadata, BackupMetadata>() {
@Override
public BackupMetadata apply(BackupMetadata input) {
LOG.error("Failed to store backup: " + input, e);
input.setFailed("Failed to store backup: " + e.getMessage());
return input;
}
});
throw e;
}
finally {
ACTIVE_STORES.dec();
context.stop();
}
}
开发者ID:yammer,项目名称:backups,代码行数:49,代码来源:BackupProcessor.java
示例14: dumpBinaryFile
import com.google.common.hash.HashingInputStream; //导入依赖的package包/类
private Stream<String> dumpBinaryFile(String name, InputStream inputStream) throws IOException {
try (HashingInputStream is = new HashingInputStream(Hashing.murmur3_128(), inputStream)) {
ByteStreams.exhaust(is);
return Stream.of(String.format("Murmur3-128 of %s: %s", name, is.hash().toString()));
}
}
开发者ID:facebook,项目名称:buck,代码行数:7,代码来源:JarDumper.java
注:本文中的com.google.common.hash.HashingInputStream类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论