java 如何检查两个图片是否一致。

xzwsun 2010-05-26 01:27:54
java 如何检查两个图片是否一致。在同一目录下有多个图像文件,如果有重复的,怎么check.

谢谢
...全文
723 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
宁静-夏天 2010-05-29
  • 打赏
  • 举报
回复
汗! 没人对我的基于 摘要算法的 稀释摘要方式感兴趣列。

呵呵! 个人感觉很不错的想法列。
xzwsun 2010-05-28
  • 打赏
  • 举报
回复
如果同一个图像文件,被设置两次,但图像大小像素均不变。这样是否MD5值一样吗?

大家如何防止同样的图片被上传两次。当然文件名是不一致的。
龙四 2010-05-28
  • 打赏
  • 举报
回复
关于在光盘镜像或大型软件下载中“MD5”“SHA1”“CRC”校验值的内涵及其特性
对于系统光盘镜像和大型软件,微软官方“MSDN”网站提供的校验值主要是“SHA1”;大家比较熟悉的校验值“MD5”则更多见于国内下载网站。但是,请你万万不可忽略微软“MSDN”网站另外一个不起眼的“CRC”:因为它是控制“全部下载过程”的“总开关”。现用最简洁、最通俗的表述(过于晦涩艰深,反倒令人生厌)对“MD5”“SHA1”“CRC”分别解析如下——

SHA1——

规范名称是SHA-1。SHA全称是Secure Hash Algorithm(安全散列算法),由美国“国家安全局(NSA)”和“国家标准与技术研究院(NIST)”联合研发,用来保护敏感的未保密资料。在联邦政府使用的同时,鼓励商业、企业和其它组织使用,从而实现“数位”版权管理(SHA1具有全球唯一特性)。


MD5——

全称是Message-Digest Algorithm 5(信息 - 摘要算法)。MD5使用的是哈希函数:不可逆加密算法。大家熟悉的典型应用,就是将“光盘镜像或大型软件”当作一个大文本信息,通过不可逆的字符串变换算法产生“字符”信息摘要,以此检查、验证信息传输的完整一致(MD5具有全球唯一特性)。

CRC——

全称是Cyclical Redundancy Check(循环冗余校验)。在各类下载的实际应用时:发送装置首先要计算出CRC值并随数据一同发送给接收装置;接收装置对下载数据进行计算并与收到的CRC相比较,从而确保数据传输的完整准确。CRC-32是CRC“分支”:一般用于Point-to-Point的同步传输。

——关于“CRC”是控制下载完整性的“总开关”,我就不在这里罗嗦了。但是,建议光临本博客的各位网友,就此进行思考、各抒己见。

——假如你的下载与提供的校验值“不合拍”,那只有两种可能:其一,下载过程中出现数据缺失;其二,使用的校验工具“不称职”。
[Quote=引用 28 楼 xzwsun 的回复:]

是否存在两个文件的md5的值一致。
[/Quote]
xzwsun 2010-05-28
  • 打赏
  • 举报
回复
是否存在两个文件的md5的值一致。
sxg263 2010-05-27
  • 打赏
  • 举报
回复
学习中。。。。。
acRush7 2010-05-27
  • 打赏
  • 举报
回复
上面例子里2个getDirMD5方法有什么区别
?
gaoxiang519 2010-05-27
  • 打赏
  • 举报
回复
md5的方法不会,我的话先比较扩展名,然后逐步比较文件大小,长宽,io流比较二进制。
skep99 2010-05-26
  • 打赏
  • 举报
回复
先遍历所有图片文件,生成每个文件的CRC32,然后比较CRC32
tx183584 2010-05-26
  • 打赏
  • 举报
回复
学习了....
水中影子 2010-05-26
  • 打赏
  • 举报
回复
想楼上学习!
alaeAndJava 2010-05-26
  • 打赏
  • 举报
回复
学习了~
chensoushi 2010-05-26
  • 打赏
  • 举报
回复
判断所有的字节是否一样
zuoguodang 2010-05-26
  • 打赏
  • 举报
回复
简单的办法就是使用Base64Encoder压缩,然后比较byte[],省好多代码
浪漫江湖 2010-05-26
  • 打赏
  • 举报
回复
学习学习……
yueguangkai001 2010-05-26
  • 打赏
  • 举报
回复
强悍,mark一下
欢乐极客 2010-05-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ticmy 的回复:]

判断两个文件的md5即可!在网上下系统盘镜像的时候都附带一个md5,为什么?因为只要有一点改动md5就不一样

附获取文件md5代码
Java code

import java.io.File;
import java.io.FileInputStream;
import java.math.BigInteger;
import java.security.MessageDigest;……
[/Quote]

这种方法不错,且代码结构上比较好。

赞~!
宁静-夏天 2010-05-26
  • 打赏
  • 举报
回复
顶 ticmy

比较日志我也是用这个方式,摘要算法,楼主比较图片还可以在使用这个方法的时候同时使用稀释,就是说你使用channel map 文件中部分流

比如: 1-128 256-384 这个间距 和 byte数据长度还可以自定义变化。这样就更合理了。

这样md5的计算量还会变小。


truediego 2010-05-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ticmy 的回复:]
判断两个文件的md5即可!在网上下系统盘镜像的时候都附带一个md5,为什么?因为只要有一点改动md5就不一样

[/Quote]

对哦,判断md5就行了,两个月前才做过,就忘了……
jypapgl 2010-05-26
  • 打赏
  • 举报
回复
收藏一下
qiuqiupeng 2010-05-26
  • 打赏
  • 举报
回复
先记录全部参比文件,并记录所有参比文件的属性,
周游全部样本点,根据二进制是否一样,并记录到结果文档。如果文档格式不一样,统一转化成同一文件后进行比较。
加载更多回复(11)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧