gpt4 book ai didi

java - 有什么方法可以使用 Guava 获取 InputStream 的哈希码吗?

转载 作者:行者123 更新时间:2023-12-02 02:47:51 24 4
gpt4 key购买 nike

有没有办法在Java中获取InputStream的HashCode,我正在尝试使用 <p:fileUpload/> 上传图片来自 PrimeFaces,将其转换为 HashCode 并将其与另一张图片进行比较。

目前我正在尝试这个:

public void save(FileUploadEvent event) throws IOException {
HashCode hashCode = null;
HashCode hashCodeCompare = null;
hashCode = Files.asByteSource(new File(event.toString())).hash(Hashing.murmur3_128(50));
hashCodeCompare = Files.asByteSource(new File(FilePathOfFileToCompare)).hash(Hashing.murmur3_128(50));
boolean hashTrueFalse;
if(hashCode.equals(hashCodeCompare)) {
System.out.println("true");
} else{
System.out.println("false");
}

try (InputStream input = event.getFile().getInputstream()) {
String imageName = generateFileName() + "." + fileExtensions(event.getFile().getFileName());
String imageLink = PICTURE_DESTINATION + "\\" + imageName;


Picture picture = new Picture();
picture.setPictureUrl(imageLink);
pictureService.createOrUpdate(picture);

personForm.getCurrentPersonDTO().setPictureDTO(pictureMapper.toDTO(picture));


} catch (IOException e) {
e.printStackTrace();
}
}

有什么办法可以把InputStream变成变成哈希码?

最佳答案

你想要做的是ByteStreams.copy(input, Funnels.asOutputStream(hasher)),其中hasher是从例如获取的Hashing.sha256().newHasher()。然后,调用hasher.hash()以获取结果HashCode

关于java - 有什么方法可以使用 Guava 获取 InputStream 的哈希码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54256140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com