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