首页 / 软件开发 / JAVA / Java安全通信、数字证书及应用实践
        
            Java安全通信、数字证书及应用实践2010-09-22摘要:在本文中,我用详细的语言和大量的图片及完整的程序源码向你展示了在 JAVA中如何实现通过消息摘要、消息验证码达到安全通信、以及用Java的工具生成数字证书,和用程序给数字证书签名、以及用签名后的数学证书签名applet突破applet的访问权限的过程,给出了全部例子的详细代码。通过本文中你可以学到以下知识:● 程序间如何安全通信● 什么是 及 如何生成消息摘要● 什么是 及 如何生成消息验证码● 如何使用 Java工具生成和维护数字证书库● 如何用程序给数字证书验证签名● 如何利用数字证书给 applet签名突破applet的访问权限关键字:消息摘要、消息验证码、指纹、加密、安全、 Java、数字签名、applet、数字证书一、基础知识计算机安全通信过程中,常使用消息摘要和消息验证码来保证传输的数据未曾被第三方修改。消息摘要是对原始数据按照一定算法进行计算得到的结果,它主要检测原始数据是否被修改过。消息摘要与加密不同,加密是对原始数据进行变换,可以从变换后的数据中获得原始数据,而消息摘要是从原始数据中获得一部分信息,它比原始数据少得多,因此消息摘要可以看作是原始数据的指纹。例:下面一段程序计算一段字符串的消息摘要package com.messagedigest;
import java.security.*;
public class DigestPass {
 public static void main(String[] args) throws Exception{
  String str="Hello,I sent to you 80 yuan.";
  MessageDigest md = MessageDigest.getInstance("MD5");//常用的有MD5,SHA算法等
  md.update(str.getBytes("UTF-8"));//传入原始字串
  byte[] re = md.digest();//计算消息摘要放入byte数组中
  //下面把消息摘要转换为字符串
  String result = "";
  for(int i=0;i<re.length;i++){
   result += Integer.toHexString((0x000000ff&re[i])|0xffffff00).substring(6);
  }
  System.out.println(result);
 }
}