java 对图片进行MD5算法

在这次项目中需要对图片MD5来确定一张图片的唯一性,如果两个图片MD5相同就认定问两张图片是同一张图,只不过是被转载的。

在多次查找资料后写出来下面的通用类

 

1、将图片转换成二进制数组

 

有一点很重要 使用了MessageDigest类  下面有该类的介绍

 

2。、调用方法

 

 

 

 

 

 

Java 加密技术:消息摘要。

一个消息摘要就是一个数据块的数字指纹。即对一个任意长度的一个数据块进行计算,产生一个唯一指印(对于SHA1是产生一个20字节的二进制数组)。

消息摘要有两个基本属性:

两个不同的报文难以生成相同的摘要 
难以对指定的摘要生成一个报文,而由该报文反推算出该指定的摘要
代表:美国国家标准技术研究所的SHA1和麻省理工学院Ronald Rivest提出的MD5

 

类 java.security.MessageDigest

java.lang.Object
   |
   +----java.security.MessageDigest

public abstract class  MessageDigest extends  Object

MessageDigest 提供了消息摘要算法,如 MD5 或 SHA,的功能。消息摘要是安全单向散列函数,它采用任意大小的数据并输出一个固定长度的散列值。

象 Java 安全性中的其它基于算法的类一样,MessageDigest 有两个主要的组件:

消息摘要 API ( 应用程序接口 )
这是需要消息摘要服务的应用调用的方法的接口。这个 API 由所有公有方法组成。
消息摘要 SPI ( 服务提供者接口 )
该接口是由提供特殊算法的提供者实现的接口。它由所有名字前缀为  engine 的方法组成。每个这样的方法由具有相应名字的公有 API 方法调用。例如, engineReset 方法由  reset 方法调用。SPI 方法是抽象的;提供者必须提供一个具体的实现。

MessageDigest 对象在启动时被初始化。使用 update 方法处理数据。在任何地方都可调用 reset 复位摘要。一旦所有需要修改的数据都被修改了,将调用一个 digest 方法完成散列码的计算。

对于给定次数的修改,只能调用 digest 方法一次。在调用 digest 之后,MessageDigest 对象被复位为初始化的状态。 



  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值