我正在做一些图像处理代码,其中我从 URL 下载一些图像(作为 BufferedImage)并将其传递给图像处理器。
我想避免将同一图像多次传递给图像处理器(因为图像处理操作成本很高)。图像的 URL 端点(如果它们是相同的图像)可能会有所不同,因此我可以通过 URL 来防止这种情况。所以我打算做一个校验和或哈希来确定代码是否再次遇到相同的图像。
对于 md5 我尝试了Fast MD5,它为图像生成了一个 20K+ 字符长度的十六进制校验和值(一些示例)。显然,当涉及到数据库存储时,存储这个 20K+ 字符散列将是一个问题。因此我尝试了 CRC32(来自 java.util.zip.CRC32)。它确实生成了比散列更小的长度校验和。
我确实了解校验和和哈希用于不同的目的。出于上述目的,我可以只使用 CRC32 吗?它会解决目的还是我必须尝试比这两个更多的东西?
谢谢,阿比