学习笔记―java多线程
2013-04-13 12:49
375 查看
一、知识点
1、摘要流
计算流的消息摘要,java.util.security中,security(安全)
摘要流也属于过滤流,这两个过滤流为DigestInputStream和DigestOutputStream,digest(摘要)
2、数字签名
摘要的计算需要一些算法,如MD5、SHA
消息摘要在Java中使用java.util.security.MessageDigest
3、获取文件的摘要
使用FileInputStream文件流读取文件
使用MessageDigest.getInstance方法取得MessageDigest实例
将以上作为参数传递给DigestInputStream摘要流的构造器
通过while循环read方法后,MessageDigest.digest即可获得摘要
二、示例代码
1、摘要流
计算流的消息摘要,java.util.security中,security(安全)
摘要流也属于过滤流,这两个过滤流为DigestInputStream和DigestOutputStream,digest(摘要)
2、数字签名
摘要的计算需要一些算法,如MD5、SHA
消息摘要在Java中使用java.util.security.MessageDigest
3、获取文件的摘要
使用FileInputStream文件流读取文件
使用MessageDigest.getInstance方法取得MessageDigest实例
将以上作为参数传递给DigestInputStream摘要流的构造器
通过while循环read方法后,MessageDigest.digest即可获得摘要
二、示例代码
@Override public void run() { try { FileInputStream in = new FileInputStream(input); MessageDigest digest = MessageDigest.getInstance("SHA"); DigestInputStream dis = new DigestInputStream(in,digest); while(dis.read()!=-1); dis.close(); byte[] d = digest.digest(); StringBuffer sb = new StringBuffer(input.toString()); for(int i=0;i<d.length;i++){ sb.append(d[i]); } System.out.println(sb.toString()); } catch (Exception e) { e.printStackTrace(); } }
private File input; public DigestRunnable(File input){ this.input = input; } public static void main(String[] args) { new Thread(new DigestRunnable(new File("1.txt"))).start(); }
相关文章推荐
- Java多线程学习笔记—线程停止
- java基础学习笔记_多线程
- Java 学习笔记16:用ThreadLocal解决多线程安全问题
- Java多线程高并发学习笔记——阻塞队列
- java多线程学习笔记
- java 多线程学习笔记1-概念,实现方式
- java 多线程学习笔记4-线程组 线程池 适配器
- java多线程使用学习笔记
- Java学习笔记—多线程(线程池框架Executor总结,转载)
- Java学习笔记--多线程
- JAVA多线程学习笔记
- 学习java多线程的笔记4--传智播客_张孝祥_空中网挑选实习生的面试题(来源于视频)
- 0040 Java学习笔记-多线程-线程run()方法中的异常
- Java学习笔记—多线程(java.util.concurrent.locks包)
- [知了堂学习笔记]_Java多线程(1)-- 基本概念并开始创建多线程程序
- Java学习笔记(一)volatile与多线程
- Android(java)学习笔记216:多线程断点下载的原理(Android实现)
- [原]Java多线程编程学习笔记之八:死锁(含代码)
- JAVA学习笔记_demo_多线程_1
- java学习笔记之多线程生产者与消费者