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密码学系列学习之一的主要内容,如果未能解决你的问题,请参考以下文章

Java并发编程系列之一并发理论基础

Kotlin学习之一

安全系列之一:忘记密码

字典树Trie学习二:Java实现方式之一

每日学Java系列-Java零基础学习笔记常用的DOS命令(续)

密码的复杂化#个人隐私保护系列#