java密码学系列学习之一
Posted 要千
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java密码学系列学习之一相关的知识,希望对你有一定的参考价值。
一 消息摘要算法
1)MessageDigest引擎类
引擎类总是跟SPI结尾的类形影不离,SPI结尾的类是服务提供接口,供自定义算法继承。MessageDigest就是sun提供的继承MessageDigestSpi摘要算法
java7 支持MD2,MD5,SHA-1,SHA-256,SHA-384,SHA-512六种消息摘要算法
常用api:
获取MessageDigest实例:
getInstance(String algorithm)/getInstance(String algorithm,Provider provider)/getInstance(String algorithm,String provider)
更新摘要 (可多次调用):
update(byte b)/update(byte[] b)/update(byte[] b ,int offset,int len)/update(ByteBuffer b)
完成摘要:
<span style="font-size:18px;">digest()/digest(byte[] b)/digest(byte[] int offset,int len)</span>
示例:<span style="font-size:18px;">byte[] source = "messageDigest".getBytes();//待做摘要的原信息
MessageDigest md = MessageDigest.getInstance("SHA");//获取SHA(SHA-1)算法MessageDigest实例</span>
<span style="font-size:18px;">md.update(source);//更新消息摘要
byte[] result = md.digest();//获取摘要信息result</span>
以上是关于java密码学系列学习之一的主要内容,如果未能解决你的问题,请参考以下文章