java安全通信、数字证书及数字证书应用实践

java安全通信、数字证书及数字证书应用实践

ID:17386241

大小:442.00 KB

页数:22页

时间:2018-08-30

java安全通信、数字证书及数字证书应用实践_第1页
java安全通信、数字证书及数字证书应用实践_第2页
java安全通信、数字证书及数字证书应用实践_第3页
java安全通信、数字证书及数字证书应用实践_第4页
java安全通信、数字证书及数字证书应用实践_第5页
资源描述:

《java安全通信、数字证书及数字证书应用实践》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、摘要:在本文中,我用详细的语言和大量的图片及完整的程序源码向你展示了在JAVA中如何实现通过消息摘要、消息验证码达到安全通信、以及用Java的工具生成数字证书,和用程序给数字证书签名、以及用签名后的数学证书签名applet突破applet的访问权限的过程,给出了全部例子的详细代码。通过本文中你可以学到以下知识:• 程序间如何安全通信• 什么是及如何生成消息摘要• 什么是及如何生成消息验证码• 如何使用Java工具生成和维护数字证书库• 如何用程序给数字证书验证签名• 如何利用数字证书给applet签名突破applet的

2、访问权限关键字:消息摘要、消息验证码、指纹、加密、安全、Java、数字签名、applet、数字证书一、基础知识计算机安全通信过程中,常使用消息摘要和消息验证码来保证传输的数据未曾被第三方修改。消息摘要是对原始数据按照一定算法进行计算得到的结果,它主要检测原始数据是否被修改过。消息摘要与加密不同,加密是对原始数据进行变换,可以从变换后的数据中获得原始数据,而消息摘要是从原始数据中获得一部分信息,它比原始数据少得多,因此消息摘要可以看作是原始数据的指纹。例:下面一段程序计算一段字符串的消息摘要packagecom.mess

3、agedigest;importjava.security.*;publicclassDigestPass{publicstaticvoidmain(String[]args)throwsException{Stringstr="Hello,Isenttoyou80yuan.";MessageDigestmd=MessageDigest.getInstance("MD5");//常用的有MD5,SHA算法等md.update(str.getBytes("UTF-8"));//传入原始字串byte[]re=md.dige

4、st();//计算消息摘要放入byte数组中//下面把消息摘要转换为字符串Stringresult="";for(inti=0;i

5、0xffffff00).substring(6);}System.out.println(result);}}当我们有时需要对一个文件加密时,以上方式不再适用。又例:下面一段程序计算从输入(出)流中计算消息摘要。packagecom.messagedigest;imp

6、ortjava.io.*;importjava.security.*;publicclassDigestInput{publicstaticvoidmain(String[]args)throwsException{StringfileName="test.txt";MessageDigestmd=MessageDigest.getInstance("MD5");FileInputStreamfin=newFileInputStream(fileName);DigestInputStreamdin=newDigestI

7、nputStream(fin,md);//构造输入流//DigestOutputStreamdout=newDigestOutputStream(fout,md);//使用输入(出)流可以自己控制何时开始和关闭计算摘要//也可以不控制,将全过程计算//初始时是从开始即开始计算,如我们可以开始时关闭,然后从某一部分开始,如下://din.on(false);intb;while((b=din.read())!=-1){//做一些对文件的处理//if(b=='$')din.on(true);//当遇到文件中的符号$时才开始

8、计算}byte[]re=md.digest();//获得消息摘要//下面把消息摘要转换为字符串Stringresult="";for(inti=0;i

9、0xffffff00).substring(6);}System.out.println(result);}}当A和B通信时,A将数据传给B时,同时也将数据的消息摘要传给B,B收到后可以用该消息摘要验证A传的消息是否正确。这时会产生问题,即若传递过

10、程中别人修改了数据时,同时也修改了消息摘要。B就无法确认数据是否正确。消息验证码可以解决这一问题。使用消息验证码的前提是A和B双方有一个共同的密钥,这样A可以将数据计算出来的消息摘要加密后发给B,以防止消息摘要被改。由于使用了共同的密钥,所以称为“验证码”。例、下面的程序即可利用共同的密钥来计算消息摘要的验证码packagecom

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。