java.security MessageDigest类

MessageDigest类

介绍:信息摘要

java 1.6 api介绍:此类为应用程序提供信息摘要功能,如:MD5/SHA等.信息摘要是简单的单向哈希函数,它接收任意长度的数据,并返回固定长度的哈希值

获得对象:

一般通过getInstance("算法名称")方法获得

常用方法;

通过update()方法处理数据,任何时候都可以通过reset()方法重置摘要,一旦所有更新数据都更新完了,应该调用digest()方法完成哈希计算,对于定量的数据计算,digest()方法只能被调用一次,MessageDigest对象恢复到初始状态

其他方法:

  1. clone();如果实现是可复制的,则返回一个副本
  2. digest();通过执行诸如填充之类的操作完成哈希计算
  3. digest(byte[] input)通过指定的数组完成最后更新操作,并计算哈希
  4. digest(byte[] buf, int offset, int len)通过指定数组,并指定开始位置(偏移量),和数字长度,来进行最后更新,并计算哈希
  5. getAlgorithm();返回指定的算法名称
  6. getDigestLength()返回以字节为单位的摘要长度,如果实现不支持,则返回0
  7. getInstance(String algorithm)返回指定算法的MessageDigest对象
  8. getInstance(String algorithm, Provider provider)通过指定算法提供者和算法名称返回MessageDigest对象
  9. getInstance(String algorithm, String provider)通过指定算法提供者和算法名称返回MessageDigest对象
  10. getProvider();返回此信息摘要对象的提供者
  11. isEquals();比较两个信息摘要对象的相等性
  12. reset();重置摘要以供再次使用
  13. toString();返回此信息摘要对象的字符串表示形式
  14. update(byte input);通过指定的字节更新摘要
  15. update(byte[] input)通过指定字节数组更新摘要
  16. update(byte[] input, int offset, int len)通过指定字节数组从指定偏移量开始更新摘要
  17. update(ByteBuffer input)通过指定ByteBuffer更新摘要

支持的算法:

MD2     
MD5     
SHA-1
SHA-256
SHA-384

SHA-512

特征:

1.在计算上,查找两个哈希值为相同值的消息是不可行的。

2.文摘不应该揭示用于生成它的输入的任何信息。

猜你喜欢

转载自blog.csdn.net/kzcming/article/details/80134949