background image

 

摘要:

 

在本文中,我用详细的语言和大量的图片及完整的程序源码向你展示了在 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 = "";