📄 java上加密算法的实现用例.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0068)http://www-900.ibm.com/developerWorks/cn/java/l-security/index.shtml -->
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>JAVA上加密算法的实现用例</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content=2002-06-04 name=DC.DATE scheme="iso8601">
<META content="developerWorks 中国网站" name=TITLE>
<META content=papers_html name=dWCategory>
<META content=Java name=zone><!-- Java technology -->
<META content=MD5/SHA1,DSA,DESede/DES,Diffie-Hellman的使用 name=KEYWORDS>
<META
content=本文介绍在java程序中实现加密算法的方法,其中包括MD5/SHA1,DSA,DESede/DES,Diffie-Hellman等加密算法的使用
name=ABSTRACT>
<META
content=本文介绍在java程序中实现加密算法的方法,其中包括MD5/SHA1,DSA,DESede/DES,Diffie-Hellman等加密算法的使用
name=DESCRIPTION>
<META
content="java tutorials, java training, java help, java standards, java code, java resources, java programming, java how to, components, beans, java beans, jdk, jugs, java user groups"
name=KEYWORDS>
<META content=/developerWorks/cn/cncontent.nsf/cn_dW_feedback name=OWNER>
<META content="2001**** initials" name=LASTUPDATE>
<META content=Public name=SECURITY>
<META content=text/xhtml name=FORMAT>
<META content="Copyright (c) 2000 by IBM Corporation" name=COPYRIGHT>
<META content=index,follow name=ROBOTS>
<META content=cn name=IBM.COUNTRY>
<META name=DOCUMENTCOUNTRYCODE value="us">
<META name=DOCUMENTLANGUAGECODE value="en">
<META
content='(PICS-1.1 "http://www.rsac.org/ratingsv01.html" l gen true comment "RSACi North America Server" by "webmaster@mail.software.ibm.com" for "http://www.ibm.com/software" on "1997.08.13T17:59-0800" r (n 0 s 0 v 0 l 0))'
http-equiv=PICS-Label>
<META content=0 http-equiv=Expires>
<SCRIPT language=JavaScript src="JAVA上加密算法的实现用例.files/style.js"
type=text/javascript>
</SCRIPT>
<SCRIPT language=JavaScript src="JAVA上加密算法的实现用例.files/spinbox.js"
type=text/javascript>
</SCRIPT>
<META content="MSHTML 5.00.2920.0" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff leftMargin=2 topMargin=2 marginwidth="2" marginheight="2"><!-- MASTHEAD -->
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR>
<TD class=tbgc width=160><A
href="http://www-900.ibm.com/developerWorks/cn/cgi-bin/click.cgi?url=www.ibm.com/cn/&origin=dwheader"><IMG
alt=IBM border=0 height=47 src="JAVA上加密算法的实现用例.files/ibm-logo.gif"
width=160></A></TD>
<TD class=tbg width=195><FONT color=#99ccff size=2><B>China</B></FONT><A
href="http://www-900.ibm.com/developerWorks/cn/java/l-security/index.shtml#main"><IMG
alt="Skip to main content" border=0 height=1
src="JAVA上加密算法的实现用例.files/c.gif" width=195></A></TD>
<TD align=right class=tbgc vAlign=top width="100%">
<TABLE border=0 cellPadding=0 cellSpacing=0>
<FORM action=http://210.82.67.149/cgi-bin/dWsearch.pl id=form1
method=get name=form1>
<TBODY>
<TR>
<TD colSpan=6><IMG alt="" border=0 height=2
src="JAVA上加密算法的实现用例.files/c.gif" width=390></TD></TR>
<TR vAlign=center>
<TD class=dwsearch><SELECT class=dwsearch name=selScope> <OPTION
selected value=dW>dW 中国所有内容<OPTION
value=dW>.................<OPTION value=dW>dW 中国技术专区:<OPTION
value=javaZ> Java 技术<OPTION value=linuxZ> Linux<OPTION
value=xmlZ> XML & Web services<OPTION
value=securityZ> 安全技术<OPTION>.................<OPTION
value=all>IBM 全部内容</OPTION></SELECT></TD>
<TD><IMG alt="" border=0 height=1 src="JAVA上加密算法的实现用例.files/c.gif"
width=5></TD>
<TD><INPUT class=dwsearch maxLength=100 name=UserRestriction size=15
height="15"></TD>
<TD><IMG alt="" border=0 height=1 src="JAVA上加密算法的实现用例.files/c.gif"
width=5></TD>
<TD><INPUT alt="Search button" border=0 cache height=23 name=Search
src="JAVA上加密算法的实现用例.files/search.gif" type=image value=Search
width=64></TD>
<TD vAlign=top><IMG alt="" border=0 height=1
src="JAVA上加密算法的实现用例.files/c.gif" width=30></TD></TR>
<TR vAlign=top>
<TD class=dwsmall colSpan=6><A href="http://210.82.67.149/help.htm"
style="COLOR: #ffffff" target=_blank>搜索帮助</A><IMG alt="" border=0
height=1 src="JAVA上加密算法的实现用例.files/c.gif" width=1></TD></TR>
<TR>
<TD colSpan=6><IMG alt="" border=0 height=4
src="JAVA上加密算法的实现用例.files/c.gif"
width=390></TD></TR></FORM></TBODY></TABLE></TD></TR><A id=main name=main>
<TR>
<TD class=hbg height=21 width=160> </TD>
<TD class=bbg colSpan=2 height=21 vAlign=top> <A
class=mainlink
href="http://www-900.ibm.com/developerWorks/cn/cgi-bin/click.cgi?url=www-900.ibm.com/cn/&origin=dwhead">IBM
主页</A> <SPAN class=divider> | </SPAN> <A
class=mainlink
href="http://www-900.ibm.com/developerWorks/cn/cgi-bin/click.cgi?url=www-900.ibm.com/cn/products/index.shtml&origin=dwhead">产品与服务</A>
<SPAN class=divider> | </SPAN> <A class=mainlink
href="http://www-900.ibm.com/developerWorks/cn/cgi-bin/click.cgi?url=www-900.ibm.com/cn/support/index.shtml&origin=dwhead">支持与下载</A>
<SPAN class=divider> | </SPAN> <A class=mainlink
href="http://www-900.ibm.com/developerWorks/cn/cgi-bin/click.cgi?url=www-900.ibm.com/cn/account/index.shtml&origin=dwhead">个性化服务</A></TD></TR></TBODY></TABLE>
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR class=hil>
<TD height=1 width="100%"><IMG alt="" height=1
src="JAVA上加密算法的实现用例.files/c.gif" width=592></TD></TR>
<TR class=dwr1>
<TD height=2 width="100%"><IMG alt="" height=2
src="JAVA上加密算法的实现用例.files/c.gif" width=592></TD></TR>
<TR class=dwg3>
<TD height=1 width="100%"><IMG alt="" height=1
src="JAVA上加密算法的实现用例.files/c.gif" width=592></TD></TR>
<TR class=bbg>
<TD height=1 width="100%"><IMG alt="" height=1
src="JAVA上加密算法的实现用例.files/c.gif" width=592></TD></TR>
<TR class=hil>
<TD height=1 width="100%"><IMG alt="" height=1
src="JAVA上加密算法的实现用例.files/c.gif" width=592></TD></TR></TBODY></TABLE>
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR vAlign=top>
<TD width=5><IMG alt="" border=0 height=1 src="JAVA上加密算法的实现用例.files/c.gif"
width=5></TD>
<TD width="100%">
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR vAlign=top>
<TD width="100%"><IMG alt="" border=0 height=4
src="JAVA上加密算法的实现用例.files/c.gif" width=2><BR><B><A
href="http://www.ibm.com/">IBM</A> : <A
href="http://www-900.ibm.com/developerWorks/cn/index.shtml">developerWorks
中国网站</A> : <A
href="http://www-900.ibm.com/developerWorks/cn/java/index.shtml">Java</A>
: <A
href="http://www-900.ibm.com/developerWorks/cn/cnpapers.nsf/java-papers-bynewest?OpenView&count=10">所有的文章
</A></B></TD>
<TD align=right width=136><A
href="http://www-900.ibm.com/developerWorks/cn/index.shtml"><IMG
alt="developerWorks 中国网站" border=0 height=24
src="JAVA上加密算法的实现用例.files/dwlogo-small.gif" width=136></A></TD>
<TD width=5><IMG alt="" border=0 height=1
src="JAVA上加密算法的实现用例.files/c.gif"
width=5></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><!-- Title Area -->
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR vAlign=top>
<TD colSpan=5><IMG alt="" border=0 height=15
src="JAVA上加密算法的实现用例.files/c.gif" width=5></TD></TR>
<TR vAlign=top>
<TD width=2><IMG alt="" border=0 height=1 src="JAVA上加密算法的实现用例.files/c.gif"
width=2></TD>
<TD><!-- <span class="astitle">[Series title]:</span> --><SPAN
class=atitle>JAVA上加密算法的实现用例</SPAN></TD>
<TD width=8><IMG alt="" border=0 height=1 src="JAVA上加密算法的实现用例.files/c.gif"
width=8></TD>
<TD></TD>
<TD width=6><IMG alt="" border=0 height=1 src="JAVA上加密算法的实现用例.files/c.gif"
width=6></TD></TR><!-- Black line separator -->
<TR vAlign=top>
<TD bgColor=#000000 colSpan=5><IMG alt="" border=0 height=1
src="JAVA上加密算法的实现用例.files/c.gif" width=100></TD></TR>
<TR vAlign=top>
<TD bgColor=#ffffff colSpan=5><IMG alt="" border=0 height=8
src="JAVA上加密算法的实现用例.files/c.gif" width=100></TD></TR></TBODY></TABLE><!-- END HEADER AREA --><!-- START BODY AREA -->
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR vAlign=top>
<TD width=10><IMG alt="" border=0 height=1
src="JAVA上加密算法的实现用例.files/c.gif" width=10></TD>
<TD width="100%">
<TABLE align=right border=0 cellPadding=0 cellSpacing=0 width=168>
<TBODY>
<TR><!-- Sidebar Gutter -->
<TD width=8><IMG alt="" height=21 src="JAVA上加密算法的实现用例.files/c.gif"
width=5></TD>
<TD width=160><!-- Start TOC -->
<TABLE border=0 cellPadding=0 cellSpacing=0 width=160>
<TBODY>
<TR>
<TD bgColor=#000000 height=1 width=160><IMG alt="" height=1
src="JAVA上加密算法的实现用例.files/c.gif" width=160></TD></TR>
<TR>
<TD align=middle background=JAVA上加密算法的实现用例.files/bg-gold.gif
height=5><B>内容:</B></TD></TR>
<TR>
<TD bgColor=#666666 height=1 width=160><IMG alt="" height=1
src="JAVA上加密算法的实现用例.files/c.gif" width=160></TD></TR>
<TR>
<TD align=right>
<TABLE border=0 cellPadding=3 cellSpacing=0 width="98%">
<TBODY>
<TR>
<TD><A
href="http://www-900.ibm.com/developerWorks/cn/java/l-security/index.shtml#1">第1章
基础知识</A></TD></TR>
<TR>
<TD><A
href="http://www-900.ibm.com/developerWorks/cn/java/l-security/index.shtml#2">第2章
在JAVA中的实现</A></TD></TR>
<TR>
<TD><A
href="http://www-900.ibm.com/developerWorks/cn/java/l-security/index.shtml#3">第3章
小结</A></TD></TR>
<TR>
<TD><A
href="http://www-900.ibm.com/developerWorks/cn/java/l-security/index.shtml#author1">作者简介</A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><!-- End TOC --><!-- Start Related Content Area ==
<table width="160" border="0" cellspacing="0" cellpadding="0">
<tr><td bgcolor="#000000" height="1" width="160"><img src="/developerWorks/cn/i/c.gif" width="160" height="1" alt=""/></td></tr>
<tr><td height="5" background="/developerWorks/cn/i/bg-gold.gif" align="center"><b>相关内容:</b></td></tr>
<tr><td bgcolor="#666666" height="1" width="160"><img src="/developerWorks/cn/i/c.gif" width="160" height="1" alt=""/></td></tr>
<tr><td align=right>
<table width="98%" border="0" cellspacing="0" cellpadding="3">
<tr><td><a href=#1>TCP/IP 介绍</a></td></tr>
<tr><td><a href=#1>TCP/IP 介绍</a></td></tr>
</table>
</td></tr></table>
!== End Related dW Content Area -->
<TABLE border=0 cellPadding=0 cellSpacing=0 width=160>
<TBODY>
<TR>
<TD bgColor=#000000 colSpan=2 height=2 width=150><IMG alt=""
height=2 src="JAVA上加密算法的实现用例.files/c.gif" width=160></TD></TR>
<TR>
<TD bgColor=#ffffff colSpan=2 height=2 width=150><IMG alt=""
height=2 src="JAVA上加密算法的实现用例.files/c.gif"
width=160></TD></TR></TBODY></TABLE><!-- END STANDARD SIDEBAR AREA --></TD></TR></TBODY></TABLE><!-- START SUBTITLE AND CONTENT --><SPAN
class=atitle2>MD5/SHA1,DSA,DESede/DES,Diffie-Hellman的使用</SPAN>
<P><A
href="http://www-900.ibm.com/developerWorks/cn/java/l-security/index.shtml#author1">王辉</A>
(<A href="mailto:ddxxkk@21cn.com">ddxxkk@21cn.com</A>)<BR>2001 年 7 月</P>
<P><A id=1 name=1><SPAN class=atitle2>第1章基础知识</SPAN></A></P>
<P><SPAN class=atitle3>1.1.
单钥密码体制</SPAN><BR>单钥密码体制是一种传统的加密算法,是指信息的发送方和接收方共同使用同一把密钥进行加解密。</P>
<P>通常,使用的加密算法比较简便高效,密钥简短,加解密速度快,破译极其困难。但是加密的安全性依靠密钥保管的安全性,在公开的计算机网络上安全地传送和保管密钥是一个严峻的问题,并且如果在多用户的情况下密钥的保管安全性也是一个问题。</P>
<P>单钥密码体制的代表是美国的DES</P>
<P><SPAN class=atitle3>1.2.
消息摘要</SPAN><BR>一个消息摘要就是一个数据块的数字指纹。即对一个任意长度的一个数据块进行计算,产生一个唯一指印(对于SHA1是产生一个20字节的二进制数组)。</P>
<P>消息摘要有两个基本属性:</P>
<UL class=n01>
<LI>两个不同的报文难以生成相同的摘要
<LI>难以对指定的摘要生成一个报文,而由该报文反推算出该指定的摘要
</LI></UL>代表:美国国家标准技术研究所的SHA1和麻省理工学院Ronald Rivest提出的MD5<BR><BR>
<P><SPAN class=atitle3>1.3.
Diffie-Hellman密钥一致协议</SPAN><BR>密钥一致协议是由公开密钥密码体制的奠基人Diffie和Hellman所提出的一种思想。</P>
<P>先决条件,允许两名用户在公开媒体上交换信息以生成"一致"的,可以共享的密钥</P>
<P>代表:指数密钥一致协议(Exponential Key Agreement Protocol)</P>
<P><SPAN class=atitle3>1.4.
非对称算法与公钥体系</SPAN><BR>1976年,Dittie和Hellman为解决密钥管理问题,在他们的奠基性的工作"密码学的新方向"一文中,提出一种密钥交换协议,允许在不安全的媒体上通过通讯双方交换信息,安全地传送秘密密钥。在此新思想的基础上,很快出现了非对称密钥密码体制,即公钥密码体制。在公钥体制中,加密密钥不同于解密密钥,加密密钥公之于众,谁都可以使用;解密密钥只有解密人自己知道。它们分别称为公开密钥(Public
key)和秘密密钥(Private key)。</P>
<P>迄今为止的所有公钥密码体系中,RSA系统是最著名、最多使用的一种。RSA公开密钥密码系统是由R.Rivest、A.Shamir和L.Adleman俊教授于1977年提出的。RSA的取名就是来自于这三位发明者的姓的第一个字母</P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -