<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>福生无量天尊</title>
    <description></description>
    <link>http://daodaodao.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>document 文档对象详解(JavaScript脚本语言描述)</title>
        <author>flymichael</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://daodaodao.javaeye.com">flymichael</a>&nbsp;
          链接：<a href="http://daodaodao.javaeye.com/blog/190966" style="color:red;">http://daodaodao.javaeye.com/blog/190966</a>&nbsp;
          发表时间: 2008年05月08日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>[<span style="color: #ff0000;">注</span>:页面上元素name属性和JavaScript引用的名称必须一致包括大小写，否则会提示你一个错误信息 "引用的元素为空或者不是对象"]<br /><span style="color: #ff0000;">========================================================================<br /></span>对象属性:</p>
<p>document.title&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //设置文档标题等价于HTML的&lt;title&gt;标签<br />document.bgColor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //设置页面背景色<br />document.fgColor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //设置前景色(文本颜色)<br />document.linkColor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //未点击过的链接颜色<br />document.alinkColor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //激活链接(焦点在此链接上)的颜色<br />document.vlinkColor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //已点击过的链接颜色<br />document.URL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //设置URL属性从而在同一窗口打开另一网页<br />document.fileCreatedDate&nbsp;&nbsp;&nbsp;&nbsp; //文件建立日期，只读属性<br />document.fileModifiedDate&nbsp;&nbsp;&nbsp; //文件修改日期，只读属性<br />document.fileSize&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //文件大小，只读属性<br />document.cookie&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //设置和读出cookie<br />document.charset&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //设置字符集 简体中文:gb2312<br />----------------------------<br />常用对象方法:</p>
<p>document.write()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //动态向页面写入内容<br />document.createElement(Tag)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //创建一个html标签对象<br />document.getElementById(ID)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //获得指定ID值的对象<br />document.getElementsByName(Name)&nbsp;&nbsp;&nbsp; //获得指定Name值的对象<br />document.body.appendChild(oTag)<br /><span style="color: #ff0000;">========================================================================</span><br />body-主体子对象</p>
<p>document.body&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //指定文档主体的开始和结束等价于&lt;body&gt;&lt;/body&gt;<br />document.body.bgColor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //设置或获取对象后面的背景颜色<br />document.body.link&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //未点击过的链接颜色<br />document.body.alink&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //激活链接(焦点在此链接上)的颜色<br />document.body.vlink&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //已点击过的链接颜色<br />document.body.text&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //文本色<br />document.body.innerText&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //设置&lt;body&gt;...&lt;/body&gt;之间的文本<br />document.body.innerHTML&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //设置&lt;body&gt;...&lt;/body&gt;之间的HTML代码<br />document.body.topMargin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //页面上边距<br />document.body.leftMargin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //页面左边距<br />document.body.rightMargin&nbsp;&nbsp;&nbsp;&nbsp; //页面右边距<br />document.body.bottomMargin&nbsp;&nbsp;&nbsp; //页面下边距<br />document.body.background&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //背景图片<br />document.body.appendChild(oTag) //动态生成一个HTML对象<br />----------------------------<br />常用对象事件:</p>
<p>document.body.onclick="func()"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //鼠标指针单击对象是触发<br />document.body.onmouseover="func()"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //鼠标指针移到对象时触发<br />document.body.onmouseout="func()"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //鼠标指针移出对象时触发 <br /><span style="color: #ff0000;">========================================================================</span><br />location-位置子对象:</p>
<p>document.location.hash&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // #号后的部分<br />document.location.host&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 域名+端口号<br />document.location.hostname&nbsp;&nbsp;&nbsp; // 域名<br />document.location.href&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 完整URL<br />document.location.pathname&nbsp;&nbsp;&nbsp; // 目录部分<br />document.location.port&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 端口号<br />document.location.protocol&nbsp;&nbsp;&nbsp; // 网络协议(http:)<br />document.location.search&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // ?号后的部分<br />----------------------------<br />常用对象事件:</p>
<p>documeny.location.reload()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //刷新网页<br />document.location.reload(URL)&nbsp;&nbsp;&nbsp;&nbsp; //打开新的网页<br />document.location.assign(URL)&nbsp;&nbsp;&nbsp;&nbsp; //打开新的网页<br />document.location.replace(URL)&nbsp;&nbsp;&nbsp; //打开新的网页<br /><span style="color: #ff0000;">========================================================================<br /></span>selection-选区子对象<br />document.selection<br /><span style="color: #ff0000;">========================================================================</span><br />images集合(页面中的图象):<br />----------------------------<br />a)通过集合引用<br />document.images&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //对应页面上的&lt;img&gt;标签<br />document.images.length&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //对应页面上&lt;img&gt;标签的个数<br />document.images[0]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //第1个&lt;img&gt;标签&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />document.images[i]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //第i-1个&lt;img&gt;标签<br />----------------------------<br />b)通过nane属性直接引用<br />&lt;img name="oImage"&gt;<br />document.images.oImage&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //document.images.name属性<br />----------------------------<br />c)引用图片的src属性<br />document.images.oImage.src&nbsp;&nbsp;&nbsp; //document.images.name属性.src<br />----------------------------<br />d)创建一个图象<br />var oImage<br />oImage = new Image()<br />document.images.oImage.src="1.jpg"<br />同时在页面上建立一个&lt;img&gt;标签与之对应就可以显示<br />----------------------------<br />示例代码(动态创建图象)：<br />&lt;html&gt;<br />&lt;img name=oImage&gt;<br />&lt;script language="javascript"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp; var oImage<br />&nbsp;&nbsp;&nbsp;&nbsp; oImage = new Image()<br />&nbsp;&nbsp;&nbsp;&nbsp; document.images.oImage.src="1.jpg"<br />&lt;/script&gt;<br />&lt;/html&gt;</p>
<p>&lt;html&gt;<br />&lt;script language="javascript"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp; oImage=document.caeateElement("IMG")<br />&nbsp;&nbsp;&nbsp;&nbsp; oImage.src="1.jpg"<br />&nbsp;&nbsp;&nbsp;&nbsp; document.body.appendChild(oImage)<br />&lt;/script&gt;<br />&lt;/html&gt;<br /><span style="color: #ff0000;">========================================================================<br /></span>forms集合(页面中的表单):<br />----------------------------<br />a)通过集合引用<br />document.forms&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //对应页面上的&lt;form&gt;标签<br />document.forms.length&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //对应页面上&lt;form&gt;标签的个数<br />document.forms[0]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //第1个&lt;form&gt;标签<br />document.forms[i]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //第i-1个&lt;form&gt;标签<br />document.forms[i].length&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //第i-1个&lt;form&gt;中的控件数<br />document.forms[i].elements[j]&nbsp;&nbsp;&nbsp; //第i-1个&lt;form&gt;中第j-1个控件<br />----------------------------<br />b)通过标签name属性直接引用<br />&lt;form name="Myform"&gt;&lt;input name="myctrl"&gt;&lt;/form&gt;<br />document.Myform.myctrl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //document.表单名.控件名<br />----------------------------<br />c)访问表单的属性<br />document.forms[i].name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //对应&lt;form name&gt;属性<br />document.forms[i].action&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //对应&lt;form action&gt;属性<br />document.forms[i].encoding&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //对应&lt;form enctype&gt;属性<br />document.forms[i].target&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //对应&lt;form target&gt;属性<br />document.forms[i].appendChild(oTag) //动态插入一个控件<br />----------------------------<br />示例代码(form)：<br />&lt;html&gt;<br />&lt;!--Text控件相关Script--&gt;<br />&lt;form name="Myform"&gt;<br />&lt;input type="text" name="oText"&gt;<br />&lt;input type="password" name="oPswd"&gt;<br />&lt;form&gt;<br />&lt;script language="javascript"&gt;<br />//获取文本密码框的值<br />document.write(document.Myform.oText.value)<br />document.write(document.Myform.oPswd.value)<br />&lt;/script&gt;<br />&lt;/html&gt;<br />----------------------------<br />示例代码(checkbox)：<br />&lt;html&gt;<br />&lt;!--checkbox,radio控件相关script--&gt;<br />&lt;form name="Myform"&gt;<br />&lt;input type="checkbox" name="chk" value="1"&gt;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;input type="checkbox" name="chk" value="2"&gt;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;/form&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;script language="javascript"&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />function fun(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; //遍历checkbox控件的值并判断是否选中&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; var length&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; length=document.forms[0].chk.length&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; for(i=0;i&lt;length;i++){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; v=document.forms[0].chk[i].value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; b=document.forms[0].chk[i].checked&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; if(b)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(v=v+"被选中")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(v=v+"未选中")&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;/script&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;a href=# onclick="fun()"&gt;ddd&lt;/a&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;/html&gt; <br />----------------------------<br />示例代码(Select)：<br />&lt;html&gt;<br />&lt;!--Select控件相关Script--&gt;<br />&lt;form name="Myform"&gt;<br />&lt;select name="oSelect"&gt;<br />&lt;option value="1"&gt;1&lt;/option&gt;<br />&lt;option value="2"&gt;2&lt;/option&gt;<br />&lt;option value="3"&gt;3&lt;/option&gt;<br />&lt;/select&gt;<br />&lt;/form&gt;</p>
<p>&lt;script language="javascript"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp; //遍历select控件的option项<br />&nbsp;&nbsp;&nbsp;&nbsp; var length<br />&nbsp;&nbsp;&nbsp;&nbsp; length=document.Myform.oSelect.length<br />&nbsp;&nbsp;&nbsp;&nbsp; for(i=0;i&lt;length;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp; document.write(document.Myform.oSelect[i].value)<br />&lt;/script&gt;</p>
<p>&lt;script language="javascript"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp; //遍历option项并且判断某个option是否被选中<br />&nbsp;&nbsp;&nbsp;&nbsp; for(i=0;i&lt;document.Myform.oSelect.length;i++){<br />&nbsp;&nbsp;&nbsp;&nbsp; if(document.Myform.oSelect[i].selected!=true)<br />&nbsp;&nbsp;&nbsp;&nbsp; document.write(document.Myform.oSelect[i].value)<br />&nbsp;&nbsp;&nbsp;&nbsp; else<br />&nbsp;&nbsp;&nbsp;&nbsp; document.write("&lt;font color=red&gt;"+document.Myform.oSelect[i].value+"&lt;/font&gt;")&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp; }<br />&lt;/script&gt;</p>
<p>&lt;script language="javascript"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp; //根据SelectedIndex打印出选中的option<br />&nbsp;&nbsp;&nbsp;&nbsp; //(0到document.Myform.oSelect.length-1)<br />&nbsp;&nbsp;&nbsp;&nbsp; i=document.Myform.oSelect.selectedIndex<br />&nbsp;&nbsp;&nbsp;&nbsp; document.write(document.Myform.oSelect[i].value)<br />&lt;/script&gt;</p>
<p>&lt;script language="javascript"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp; //动态增加select控件的option项<br />&nbsp;&nbsp;&nbsp;&nbsp; var oOption = document.createElement("OPTION");<br />&nbsp;&nbsp;&nbsp;&nbsp; oOption.text="4";<br />&nbsp;&nbsp;&nbsp;&nbsp; oOption.value="4";<br />&nbsp;&nbsp;&nbsp;&nbsp; document.Myform.oSelect.add(oOption);<br />&lt;/script&gt;<br />&lt;html&gt;<br /><span style="color: #ff0000;">========================================================================</span><br />Div集合(页面中的层):<br />&lt;Div id="oDiv"&gt;Text&lt;/Div&gt;<br />document.all.oDiv&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //引用图层oDiv&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />document.all.oDiv.style.display=""&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //图层设置为可视<br />document.all.oDiv.style.display="none"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //图层设置为隐藏<br />document.getElementId("oDiv")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //通过getElementId引用对象<br />document.getElementId("oDiv").style=""<br />document.getElementId("oDiv").display="none"<br />/*document.all表示document中所有对象的集合<br />只有ie支持此属性，因此也用来判断浏览器的种类*/<br />----------------------------<br />图层对象的4个属性<br />document.getElementById("ID").innerText&nbsp;&nbsp;&nbsp; //动态输出文本<br />document.getElementById("ID").innerHTML&nbsp;&nbsp;&nbsp; //动态输出HTML<br />document.getElementById("ID").outerText&nbsp;&nbsp;&nbsp; //同innerText<br />document.getElementById("ID").outerHTML&nbsp;&nbsp;&nbsp; //同innerHTML<br />----------------------------<br />示例代码：<br />&lt;html&gt;<br />&lt;script language="javascript"&gt;<br />function change(){<br />document.all.oDiv.style.display="none"<br />}<br />&lt;/script&gt;<br />&lt;Div id="oDiv" onclick="change()"&gt;Text&lt;/Div&gt;<br />&lt;/html&gt;</p>
<p>&lt;html&gt;<br />&lt;script language="javascript"&gt;<br />function changeText(){<br />document.getElementById("oDiv").innerText="NewText"<br />}<br />&lt;/script&gt;<br />&lt;Div id="oDiv" onmouseover="changeText()"&gt;Text&lt;/Div&gt;<br />&lt;/html&gt;</p>
          <br/>
          <span style="color:red;">
            <a href="http://daodaodao.javaeye.com/blog/190966#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 08 May 2008 11:01:18 +0800</pubDate>
        <link>http://daodaodao.javaeye.com/blog/190966</link>
        <guid>http://daodaodao.javaeye.com/blog/190966</guid>
      </item>
      <item>
        <title>用Bouncy Castle实现AES-128-CBC加密解密(转)</title>
        <author>flymichael</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://daodaodao.javaeye.com">flymichael</a>&nbsp;
          链接：<a href="http://daodaodao.javaeye.com/blog/187567" style="color:red;">http://daodaodao.javaeye.com/blog/187567</a>&nbsp;
          发表时间: 2008年04月28日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>Bouncy Castle Crypto APIs 是一个开源的轻量级Java 加密解密包，实现了JCE/JCA的provider，支持AES等多种加密解密算法。<br />详情请见主页：http://www.bouncycastle.org/java.html<br />本文的示例代码使用了http://www.bouncycastle.org/download/bcprov-jdk16-139.jar<br />1）使用JCE的AES-128-CBC加密解密</p>
<div class="hl-title">下载: <a href="http://www.albertsong.com/plugins/CoolCode/CoolCode.php?p=96&amp;download=AESWithJCE.java">AESWithJCE.java</a></div>
<div class="hl-surround"><ol title="Double click to hide line number." class="hl-main ln-show" ondblclick="linenumber(this)">
<li class="hl-firstline"><span style="color: green;">package</span><span style="color: gray;"> </span><span style="color: blue;">com</span><span style="color: gray;">.</span><span style="color: blue;">albertsong</span><span style="color: gray;">.</span><span style="color: blue;">aes</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp;</span> </li>
<li><span style="color: green;">import</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">java</span><span style="color: gray;">.</span><span style="color: blue;">security</span><span style="color: gray;">.</span><span style="color: blue;">Key</span><span style="color: gray;">;</span> </li>
<li><span style="color: green;">import</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">java</span><span style="color: gray;">.</span><span style="color: blue;">security</span><span style="color: gray;">.</span><span style="color: blue;">Security</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp;</span> </li>
<li><span style="color: green;">import</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">javax</span><span style="color: gray;">.</span><span style="color: blue;">crypto</span><span style="color: gray;">.</span><span style="color: blue;">Cipher</span><span style="color: gray;">;</span> </li>
<li><span style="color: green;">import</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">javax</span><span style="color: gray;">.</span><span style="color: blue;">crypto</span><span style="color: gray;">.</span><span style="color: blue;">spec</span><span style="color: gray;">.</span><span style="color: blue;">IvParameterSpec</span><span style="color: gray;">;</span> </li>
<li><span style="color: green;">import</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">javax</span><span style="color: gray;">.</span><span style="color: blue;">crypto</span><span style="color: gray;">.</span><span style="color: blue;">spec</span><span style="color: gray;">.</span><span style="color: blue;">SecretKeySpec</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp;</span> </li>
<li><span style="color: green;">import</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">org</span><span style="color: gray;">.</span><span style="color: blue;">bouncycastle</span><span style="color: gray;">.</span><span style="color: blue;">jce</span><span style="color: gray;">.</span><span style="color: blue;">provider</span><span style="color: gray;">.</span><span style="color: blue;">BouncyCastleProvider</span><span style="color: gray;">;</span> </li>
<li><span style="color: green;">import</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">org</span><span style="color: gray;">.</span><span style="color: blue;">bouncycastle</span><span style="color: gray;">.</span><span style="color: blue;">util</span><span style="color: gray;">.</span><span style="color: blue;">encoders</span><span style="color: gray;">.</span><span style="color: blue;">Hex</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp;</span> </li>
<li><span style="color: #ffa500;">/**</span> </li>
<li><span style="color: #ffa500;">*</span><span style="color: blue;"> @author </span><span style="color: #ffa500;">Albert</span> </li>
<li><span style="color: #ffa500;">*</span><span style="color: blue;"> @version </span><span style="color: #ffa500;">1.0</span> </li>
<li><span style="color: #ffa500;">* </span></li>
<li><span style="color: #ffa500;">*/</span> </li>
<li><span style="color: green;">public</span><span style="color: gray;">&nbsp;</span><span style="color: green;">class</span><span style="color: gray;"> </span><span style="color: blue;">AESWithJCE</span><span style="color: gray;"> </span><span style="color: olive;">{</span> </li>
<li><span style="color: gray;">&nbsp;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">/**</span> </li>
<li><span style="color: #ffa500;">&nbsp; &nbsp;&nbsp; *</span><span style="color: blue;"> @param </span><span style="color: #ffa500;">args</span> </li>
<li><span style="color: #ffa500;">&nbsp; &nbsp;&nbsp; */</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; </span><span style="color: green;">public</span><span style="color: gray;">&nbsp;</span><span class="hl-types">static</span><span style="color: gray;"> </span><span class="hl-types">void</span><span style="color: gray;"> </span><span style="color: blue;">main</span><span style="color: olive;">(</span><span style="color: blue;">String</span><span style="color: olive;">[]</span><span style="color: gray;"> </span><span style="color: blue;">args</span><span style="color: olive;">)</span><span style="color: gray;"> </span><span style="color: olive;">{</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class="hl-types">byte</span><span style="color: olive;">[]</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">keybytes</span><span style="color: gray;"> = </span><span style="color: olive;">{</span><span style="color: gray;"> </span><span style="color: maroon;">0x31</span><span style="color: gray;">, </span><span style="color: maroon;">0x32</span><span style="color: gray;">, </span><span style="color: maroon;">0x33</span><span style="color: gray;">, </span><span style="color: maroon;">0x34</span><span style="color: gray;">, </span><span style="color: maroon;">0x35</span><span style="color: gray;">, </span><span style="color: maroon;">0x36</span><span style="color: gray;">, </span><span style="color: maroon;">0x37</span><span style="color: gray;">, </span><span style="color: maroon;">0x38</span><span style="color: gray;">,</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: maroon;">0x31</span><span style="color: gray;">, </span><span style="color: maroon;">0x32</span><span style="color: gray;">, </span><span style="color: maroon;">0x33</span><span style="color: gray;">, </span><span style="color: maroon;">0x34</span><span style="color: gray;">, </span><span style="color: maroon;">0x35</span><span style="color: gray;">, </span><span style="color: maroon;">0x36</span><span style="color: gray;">, </span><span style="color: maroon;">0x37</span><span style="color: gray;">, </span><span style="color: maroon;">0x38</span><span style="color: gray;">&nbsp;</span><span style="color: olive;">}</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class="hl-types">byte</span><span style="color: olive;">[]</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">iv</span><span style="color: gray;"> = </span><span style="color: olive;">{</span><span style="color: gray;"> </span><span style="color: maroon;">0x38</span><span style="color: gray;">, </span><span style="color: maroon;">0x37</span><span style="color: gray;">, </span><span style="color: maroon;">0x36</span><span style="color: gray;">, </span><span style="color: maroon;">0x35</span><span style="color: gray;">, </span><span style="color: maroon;">0x34</span><span style="color: gray;">, </span><span style="color: maroon;">0x33</span><span style="color: gray;">, </span><span style="color: maroon;">0x32</span><span style="color: gray;">, </span><span style="color: maroon;">0x31</span><span style="color: gray;">, </span><span style="color: maroon;">0x38</span><span style="color: gray;">,</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: maroon;">0x37</span><span style="color: gray;">, </span><span style="color: maroon;">0x36</span><span style="color: gray;">, </span><span style="color: maroon;">0x35</span><span style="color: gray;">, </span><span style="color: maroon;">0x34</span><span style="color: gray;">, </span><span style="color: maroon;">0x33</span><span style="color: gray;">, </span><span style="color: maroon;">0x32</span><span style="color: gray;">, </span><span style="color: maroon;">0x31</span><span style="color: gray;">&nbsp;</span><span style="color: olive;">}</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">String</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">content</span><span style="color: gray;"> =</span><span style="color: #8b0000;">"</span><span style="color: red;">TEST1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ</span><span style="color: #8b0000;">"</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">System</span><span style="color: gray;">.</span><span style="color: blue;">out</span><span style="color: gray;">.</span><span style="color: blue;">println</span><span style="color: olive;">(</span><span style="color: #8b0000;">"</span><span style="color: red;">Original content:</span><span style="color: #8b0000;">"</span><span style="color: olive;">)</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">System</span><span style="color: gray;">.</span><span style="color: blue;">out</span><span style="color: gray;">.</span><span style="color: blue;">println</span><span style="color: olive;">(</span><span style="color: blue;">content</span><span style="color: olive;">)</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: green;">try</span><span style="color: gray;">&nbsp;</span><span style="color: olive;">{</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">Security</span><span style="color: gray;">.</span><span style="color: blue;">addProvider</span><span style="color: olive;">(</span><span style="color: green;">new</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">BouncyCastleProvider</span><span style="color: olive;">())</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">Key</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">key</span><span style="color: gray;"> = </span><span style="color: green;">new</span><span style="color: gray;"> </span><span style="color: blue;">SecretKeySpec</span><span style="color: olive;">(</span><span style="color: blue;">keybytes</span><span style="color: gray;">, </span><span style="color: #8b0000;">"</span><span style="color: red;">AES</span><span style="color: #8b0000;">"</span><span style="color: olive;">)</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">Cipher</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">in</span><span style="color: gray;"> = </span><span style="color: blue;">Cipher</span><span style="color: gray;">.</span><span style="color: blue;">getInstance</span><span style="color: olive;">(</span><span style="color: #8b0000;">"</span><span style="color: red;">AES/CBC/PKCS7Padding</span><span style="color: #8b0000;">"</span><span style="color: gray;">,</span><span style="color: #8b0000;">"</span><span style="color: red;">BC</span><span style="color: #8b0000;">"</span><span style="color: olive;">)</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">in</span><span style="color: gray;">.</span><span style="color: blue;">init</span><span style="color: olive;">(</span><span style="color: blue;">Cipher</span><span style="color: gray;">.</span><span style="color: blue;">ENCRYPT_MODE</span><span style="color: gray;">, </span><span style="color: blue;">key</span><span style="color: gray;">, </span><span style="color: green;">new</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">IvParameterSpec</span><span style="color: olive;">(</span><span style="color: blue;">iv</span><span style="color: olive;">))</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span class="hl-types">byte</span><span style="color: olive;">[]</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">enc</span><span style="color: gray;"> = </span><span style="color: blue;">in</span><span style="color: gray;">.</span><span style="color: blue;">doFinal</span><span style="color: olive;">(</span><span style="color: blue;">content</span><span style="color: gray;">.</span><span style="color: blue;">getBytes</span><span style="color: olive;">())</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">System</span><span style="color: gray;">.</span><span style="color: blue;">out</span><span style="color: gray;">.</span><span style="color: blue;">println</span><span style="color: olive;">(</span><span style="color: #8b0000;">"</span><span style="color: red;">Encrypted Content:</span><span style="color: #8b0000;">"</span><span style="color: olive;">)</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">System</span><span style="color: gray;">.</span><span style="color: blue;">out</span><span style="color: gray;">.</span><span style="color: blue;">println</span><span style="color: olive;">(</span><span style="color: green;">new</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">String</span><span style="color: olive;">(</span><span style="color: blue;">Hex</span><span style="color: gray;">.</span><span style="color: blue;">encode</span><span style="color: olive;">(</span><span style="color: blue;">enc</span><span style="color: olive;">)))</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">Cipher</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">out</span><span style="color: gray;"> = </span><span style="color: blue;">Cipher</span><span style="color: gray;">.</span><span style="color: blue;">getInstance</span><span style="color: olive;">(</span><span style="color: #8b0000;">"</span><span style="color: red;">AES/CBC/PKCS7Padding</span><span style="color: #8b0000;">"</span><span style="color: gray;">, </span><span style="color: #8b0000;">"</span><span style="color: red;">BC</span><span style="color: #8b0000;">"</span><span style="color: olive;">)</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">out</span><span style="color: gray;">.</span><span style="color: blue;">init</span><span style="color: olive;">(</span><span style="color: blue;">Cipher</span><span style="color: gray;">.</span><span style="color: blue;">DECRYPT_MODE</span><span style="color: gray;">, </span><span style="color: blue;">key</span><span style="color: gray;">, </span><span style="color: green;">new</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">IvParameterSpec</span><span style="color: olive;">(</span><span style="color: blue;">iv</span><span style="color: olive;">))</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span class="hl-types">byte</span><span style="color: olive;">[]</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">dec</span><span style="color: gray;"> = </span><span style="color: blue;">out</span><span style="color: gray;">.</span><span style="color: blue;">doFinal</span><span style="color: olive;">(</span><span style="color: blue;">enc</span><span style="color: olive;">)</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">System</span><span style="color: gray;">.</span><span style="color: blue;">out</span><span style="color: gray;">.</span><span style="color: blue;">println</span><span style="color: olive;">(</span><span style="color: #8b0000;">"</span><span style="color: red;">Decrypted Content:</span><span style="color: #8b0000;">"</span><span style="color: olive;">)</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">System</span><span style="color: gray;">.</span><span style="color: blue;">out</span><span style="color: gray;">.</span><span style="color: blue;">println</span><span style="color: olive;">(</span><span style="color: green;">new</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">String</span><span style="color: olive;">(</span><span style="color: blue;">dec</span><span style="color: olive;">))</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: olive;">}</span><span style="color: gray;">&nbsp;</span><span style="color: green;">catch</span><span style="color: gray;"> </span><span style="color: olive;">(</span><span style="color: blue;">Exception</span><span style="color: gray;"> </span><span style="color: blue;">ex</span><span style="color: olive;">)</span><span style="color: gray;"> </span><span style="color: olive;">{</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">ex</span><span style="color: gray;">.</span><span style="color: blue;">printStackTrace</span><span style="color: olive;">()</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: olive;">}</span> </li>
<li><span style="color: gray;">&nbsp;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; </span><span style="color: olive;">}</span> </li>
<li><span style="color: gray;">&nbsp;</span> </li>
<li><span style="color: olive;">}</span></li>
</ol></div>
<p><br />2）不使用JCE的AES-128-CBC加密解密，可以用于J2ME程序中。</p>
<div class="hl-title">下载: <a href="http://www.albertsong.com/plugins/CoolCode/CoolCode.php?p=96&amp;download=AESWithoutJCE.java">AESWithoutJCE.java</a></div>
<div class="hl-surround"><ol title="Double click to hide line number." class="hl-main ln-show" ondblclick="linenumber(this)">
<li class="hl-firstline"><span style="color: green;">package</span><span style="color: gray;"> </span><span style="color: blue;">com</span><span style="color: gray;">.</span><span style="color: blue;">albertsong</span><span style="color: gray;">.</span><span style="color: blue;">aes</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp;</span> </li>
<li><span style="color: green;">import</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">org</span><span style="color: gray;">.</span><span style="color: blue;">bouncycastle</span><span style="color: gray;">.</span><span style="color: blue;">crypto</span><span style="color: gray;">.</span><span style="color: blue;">BufferedBlockCipher</span><span style="color: gray;">;</span> </li>
<li><span style="color: green;">import</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">org</span><span style="color: gray;">.</span><span style="color: blue;">bouncycastle</span><span style="color: gray;">.</span><span style="color: blue;">crypto</span><span style="color: gray;">.</span><span style="color: blue;">engines</span><span style="color: gray;">.</span><span style="color: blue;">AESFastEngine</span><span style="color: gray;">;</span> </li>
<li><span style="color: green;">import</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">org</span><span style="color: gray;">.</span><span style="color: blue;">bouncycastle</span><span style="color: gray;">.</span><span style="color: blue;">crypto</span><span style="color: gray;">.</span><span style="color: blue;">modes</span><span style="color: gray;">.</span><span style="color: blue;">CBCBlockCipher</span><span style="color: gray;">;</span> </li>
<li><span style="color: green;">import</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">org</span><span style="color: gray;">.</span><span style="color: blue;">bouncycastle</span><span style="color: gray;">.</span><span style="color: blue;">crypto</span><span style="color: gray;">.</span><span style="color: blue;">paddings</span><span style="color: gray;">.</span><span style="color: blue;">PaddedBufferedBlockCipher</span><span style="color: gray;">;</span> </li>
<li><span style="color: green;">import</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">org</span><span style="color: gray;">.</span><span style="color: blue;">bouncycastle</span><span style="color: gray;">.</span><span style="color: blue;">crypto</span><span style="color: gray;">.</span><span style="color: blue;">params</span><span style="color: gray;">.</span><span style="color: blue;">KeyParameter</span><span style="color: gray;">;</span> </li>
<li><span style="color: green;">import</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">org</span><span style="color: gray;">.</span><span style="color: blue;">bouncycastle</span><span style="color: gray;">.</span><span style="color: blue;">crypto</span><span style="color: gray;">.</span><span style="color: blue;">params</span><span style="color: gray;">.</span><span style="color: blue;">ParametersWithIV</span><span style="color: gray;">;</span> </li>
<li><span style="color: green;">import</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">org</span><span style="color: gray;">.</span><span style="color: blue;">bouncycastle</span><span style="color: gray;">.</span><span style="color: blue;">util</span><span style="color: gray;">.</span><span style="color: blue;">encoders</span><span style="color: gray;">.</span><span style="color: blue;">Hex</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp;</span> </li>
<li><span style="color: #ffa500;">/**</span> </li>
<li><span style="color: #ffa500;">*</span><span style="color: blue;"> @author </span><span style="color: #ffa500;">Albert</span> </li>
<li><span style="color: #ffa500;">*</span><span style="color: blue;"> @version </span><span style="color: #ffa500;">1.0</span> </li>
<li><span style="color: #ffa500;">*</span> </li>
<li><span style="color: #ffa500;">*/</span> </li>
<li><span style="color: green;">public</span><span style="color: gray;">&nbsp;</span><span style="color: green;">class</span><span style="color: gray;"> </span><span style="color: blue;">AESWithoutJCE</span><span style="color: gray;"> </span><span style="color: olive;">{</span> </li>
<li><span style="color: gray;">&nbsp;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">/**</span> </li>
<li><span style="color: #ffa500;">&nbsp; &nbsp;&nbsp; *</span><span style="color: blue;"> @param </span><span style="color: #ffa500;">args</span> </li>
<li><span style="color: #ffa500;">&nbsp; &nbsp;&nbsp; */</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; </span><span style="color: green;">public</span><span style="color: gray;">&nbsp;</span><span class="hl-types">static</span><span style="color: gray;"> </span><span class="hl-types">void</span><span style="color: gray;"> </span><span style="color: blue;">main</span><span style="color: olive;">(</span><span style="color: blue;">String</span><span style="color: olive;">[]</span><span style="color: gray;"> </span><span style="color: blue;">args</span><span style="color: olive;">)</span><span style="color: gray;"> </span><span style="color: olive;">{</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class="hl-types">byte</span><span style="color: olive;">[]</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">keybytes</span><span style="color: gray;"> = </span><span style="color: olive;">{</span><span style="color: gray;"> </span><span style="color: maroon;">0x31</span><span style="color: gray;">, </span><span style="color: maroon;">0x32</span><span style="color: gray;">, </span><span style="color: maroon;">0x33</span><span style="color: gray;">, </span><span style="color: maroon;">0x34</span><span style="color: gray;">, </span><span style="color: maroon;">0x35</span><span style="color: gray;">, </span><span style="color: maroon;">0x36</span><span style="color: gray;">, </span><span style="color: maroon;">0x37</span><span style="color: gray;">, </span><span style="color: maroon;">0x38</span><span style="color: gray;">,</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: maroon;">0x31</span><span style="color: gray;">, </span><span style="color: maroon;">0x32</span><span style="color: gray;">, </span><span style="color: maroon;">0x33</span><span style="color: gray;">, </span><span style="color: maroon;">0x34</span><span style="color: gray;">, </span><span style="color: maroon;">0x35</span><span style="color: gray;">, </span><span style="color: maroon;">0x36</span><span style="color: gray;">, </span><span style="color: maroon;">0x37</span><span style="color: gray;">, </span><span style="color: maroon;">0x38</span><span style="color: gray;">&nbsp;</span><span style="color: olive;">}</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class="hl-types">byte</span><span style="color: olive;">[]</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">iv</span><span style="color: gray;"> = </span><span style="color: olive;">{</span><span style="color: gray;"> </span><span style="color: maroon;">0x38</span><span style="color: gray;">, </span><span style="color: maroon;">0x37</span><span style="color: gray;">, </span><span style="color: maroon;">0x36</span><span style="color: gray;">, </span><span style="color: maroon;">0x35</span><span style="color: gray;">, </span><span style="color: maroon;">0x34</span><span style="color: gray;">, </span><span style="color: maroon;">0x33</span><span style="color: gray;">, </span><span style="color: maroon;">0x32</span><span style="color: gray;">, </span><span style="color: maroon;">0x31</span><span style="color: gray;">, </span><span style="color: maroon;">0x38</span><span style="color: gray;">,</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: maroon;">0x37</span><span style="color: gray;">, </span><span style="color: maroon;">0x36</span><span style="color: gray;">, </span><span style="color: maroon;">0x35</span><span style="color: gray;">, </span><span style="color: maroon;">0x34</span><span style="color: gray;">, </span><span style="color: maroon;">0x33</span><span style="color: gray;">, </span><span style="color: maroon;">0x32</span><span style="color: gray;">, </span><span style="color: maroon;">0x31</span><span style="color: gray;">&nbsp;</span><span style="color: olive;">}</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">String</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">content</span><span style="color: gray;"> =</span><span style="color: #8b0000;">"</span><span style="color: red;">TEST1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ</span><span style="color: #8b0000;">"</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">System</span><span style="color: gray;">.</span><span style="color: blue;">out</span><span style="color: gray;">.</span><span style="color: blue;">println</span><span style="color: olive;">(</span><span style="color: #8b0000;">"</span><span style="color: red;">Original content:</span><span style="color: #8b0000;">"</span><span style="color: olive;">)</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">System</span><span style="color: gray;">.</span><span style="color: blue;">out</span><span style="color: gray;">.</span><span style="color: blue;">println</span><span style="color: olive;">(</span><span style="color: blue;">content</span><span style="color: olive;">)</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: green;">try</span><span style="color: gray;">&nbsp;</span><span style="color: olive;">{</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">BufferedBlockCipher</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">engine</span><span style="color: gray;"> = </span><span style="color: green;">new</span><span style="color: gray;"> </span><span style="color: blue;">PaddedBufferedBlockCipher</span><span style="color: olive;">(</span><span style="color: green;">new</span><span style="color: gray;"> </span><span style="color: blue;">CBCBlockCipher</span><span style="color: olive;">(</span><span style="color: green;">new</span><span style="color: gray;"> </span><span style="color: blue;">AESFastEngine</span><span style="color: olive;">()))</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">engine</span><span style="color: gray;">.</span><span style="color: blue;">init</span><span style="color: olive;">(</span><span style="color: green;">true</span><span style="color: gray;">, </span><span style="color: green;">new</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">ParametersWithIV</span><span style="color: olive;">(</span><span style="color: green;">new</span><span style="color: gray;"> </span><span style="color: blue;">KeyParameter</span><span style="color: olive;">(</span><span style="color: blue;">keybytes</span><span style="color: olive;">)</span><span style="color: gray;">,</span><span style="color: blue;">iv</span><span style="color: olive;">))</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span class="hl-types">byte</span><span style="color: olive;">[]</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">enc</span><span style="color: gray;"> = </span><span style="color: green;">new</span><span style="color: gray;"> </span><span class="hl-types">byte</span><span style="color: olive;">[</span><span style="color: blue;">engine</span><span style="color: gray;">.</span><span style="color: blue;">getOutputSize</span><span style="color: olive;">(</span><span style="color: blue;">content</span><span style="color: gray;">.</span><span style="color: blue;">getBytes</span><span style="color: olive;">()</span><span style="color: gray;">.</span><span style="color: blue;">length</span><span style="color: olive;">)]</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span class="hl-types">int</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">size1</span><span style="color: gray;"> = </span><span style="color: blue;">engine</span><span style="color: gray;">.</span><span style="color: blue;">processBytes</span><span style="color: olive;">(</span><span style="color: blue;">content</span><span style="color: gray;">.</span><span style="color: blue;">getBytes</span><span style="color: olive;">()</span><span style="color: gray;">, </span><span style="color: maroon;">0</span><span style="color: gray;">, </span><span style="color: blue;">content</span><span style="color: gray;">.</span><span style="color: blue;">getBytes</span><span style="color: olive;">()</span><span style="color: gray;">.</span><span style="color: blue;">length</span><span style="color: gray;">, </span><span style="color: blue;">enc</span><span style="color: gray;">, </span><span style="color: maroon;">0</span><span style="color: olive;">)</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span class="hl-types">int</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">size2</span><span style="color: gray;"> = </span><span style="color: blue;">engine</span><span style="color: gray;">.</span><span style="color: blue;">doFinal</span><span style="color: olive;">(</span><span style="color: blue;">enc</span><span style="color: gray;">, </span><span style="color: blue;">size1</span><span style="color: olive;">)</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">System</span><span style="color: gray;">.</span><span style="color: blue;">out</span><span style="color: gray;">.</span><span style="color: blue;">println</span><span style="color: olive;">(</span><span style="color: #8b0000;">"</span><span style="color: red;">size2 =</span><span style="color: #8b0000;">"</span><span style="color: gray;">+</span><span style="color: blue;">size2</span><span style="color: olive;">)</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span class="hl-types">byte</span><span style="color: olive;">[]</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">encryptedContent</span><span style="color: gray;"> =</span><span style="color: green;">new</span><span style="color: gray;"> </span><span class="hl-types">byte</span><span style="color: olive;">[</span><span style="color: blue;">size1</span><span style="color: gray;">+</span><span style="color: blue;">size2</span><span style="color: olive;">]</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">System</span><span style="color: gray;">.</span><span style="color: blue;">arraycopy</span><span style="color: olive;">(</span><span style="color: blue;">enc</span><span style="color: gray;">, </span><span style="color: maroon;">0</span><span style="color: gray;">, </span><span style="color: blue;">encryptedContent</span><span style="color: gray;">, </span><span style="color: maroon;">0</span><span style="color: gray;">, </span><span style="color: blue;">encryptedContent</span><span style="color: gray;">.</span><span style="color: blue;">length</span><span style="color: olive;">)</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">System</span><span style="color: gray;">.</span><span style="color: blue;">out</span><span style="color: gray;">.</span><span style="color: blue;">println</span><span style="color: olive;">(</span><span style="color: #8b0000;">"</span><span style="color: red;">Encrypted Content:</span><span style="color: #8b0000;">"</span><span style="color: olive;">)</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">System</span><span style="color: gray;">.</span><span style="color: blue;">out</span><span style="color: gray;">.</span><span style="color: blue;">println</span><span style="color: olive;">(</span><span style="color: green;">new</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">String</span><span style="color: olive;">(</span><span style="color: blue;">Hex</span><span style="color: gray;">.</span><span style="color: blue;">encode</span><span style="color: olive;">(</span><span style="color: blue;">encryptedContent</span><span style="color: olive;">)))</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">engine</span><span style="color: gray;">.</span><span style="color: blue;">init</span><span style="color: olive;">(</span><span style="color: green;">false</span><span style="color: gray;">, </span><span style="color: green;">new</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">ParametersWithIV</span><span style="color: olive;">(</span><span style="color: green;">new</span><span style="color: gray;"> </span><span style="color: blue;">KeyParameter</span><span style="color: olive;">(</span><span style="color: blue;">keybytes</span><span style="color: olive;">)</span><span style="color: gray;">,</span><span style="color: blue;">iv</span><span style="color: olive;">))</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span class="hl-types">byte</span><span style="color: olive;">[]</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">dec</span><span style="color: gray;"> = </span><span style="color: green;">new</span><span style="color: gray;"> </span><span class="hl-types">byte</span><span style="color: olive;">[</span><span style="color: blue;">engine</span><span style="color: gray;">.</span><span style="color: blue;">getOutputSize</span><span style="color: olive;">(</span><span style="color: blue;">encryptedContent</span><span style="color: gray;">.</span><span style="color: blue;">length</span><span style="color: olive;">)]</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">size1</span><span style="color: gray;"> = </span><span style="color: blue;">engine</span><span style="color: gray;">.</span><span style="color: blue;">processBytes</span><span style="color: olive;">(</span><span style="color: blue;">encryptedContent</span><span style="color: gray;">, </span><span style="color: maroon;">0</span><span style="color: gray;">, </span><span style="color: blue;">encryptedContent</span><span style="color: gray;">.</span><span style="color: blue;">length</span><span style="color: gray;">, </span><span style="color: blue;">dec</span><span style="color: gray;">, </span><span style="color: maroon;">0</span><span style="color: olive;">)</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">size2</span><span style="color: gray;"> = </span><span style="color: blue;">engine</span><span style="color: gray;">.</span><span style="color: blue;">doFinal</span><span style="color: olive;">(</span><span style="color: blue;">dec</span><span style="color: gray;">, </span><span style="color: blue;">size1</span><span style="color: olive;">)</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">System</span><span style="color: gray;">.</span><span style="color: blue;">out</span><span style="color: gray;">.</span><span style="color: blue;">println</span><span style="color: olive;">(</span><span style="color: #8b0000;">"</span><span style="color: red;">size2 =</span><span style="color: #8b0000;">"</span><span style="color: gray;">+</span><span style="color: blue;">size2</span><span style="color: olive;">)</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span class="hl-types">byte</span><span style="color: olive;">[]</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">decryptedContent</span><span style="color: gray;"> =</span><span style="color: green;">new</span><span style="color: gray;"> </span><span class="hl-types">byte</span><span style="color: olive;">[</span><span style="color: blue;">size1</span><span style="color: gray;">+</span><span style="color: blue;">size2</span><span style="color: olive;">]</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">System</span><span style="color: gray;">.</span><span style="color: blue;">arraycopy</span><span style="color: olive;">(</span><span style="color: blue;">dec</span><span style="color: gray;">, </span><span style="color: maroon;">0</span><span style="color: gray;">, </span><span style="color: blue;">decryptedContent</span><span style="color: gray;">, </span><span style="color: maroon;">0</span><span style="color: gray;">, </span><span style="color: blue;">decryptedContent</span><span style="color: gray;">.</span><span style="color: blue;">length</span><span style="color: olive;">)</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">System</span><span style="color: gray;">.</span><span style="color: blue;">out</span><span style="color: gray;">.</span><span style="color: blue;">println</span><span style="color: olive;">(</span><span style="color: #8b0000;">"</span><span style="color: red;">Decrypted Content:</span><span style="color: #8b0000;">"</span><span style="color: olive;">)</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">System</span><span style="color: gray;">.</span><span style="color: blue;">out</span><span style="color: gray;">.</span><span style="color: blue;">println</span><span style="color: olive;">(</span><span style="color: green;">new</span><span style="color: gray;">&nbsp;</span><span style="color: blue;">String</span><span style="color: olive;">(</span><span style="color: blue;">decryptedContent</span><span style="color: olive;">))</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: olive;">}</span><span style="color: gray;">&nbsp;</span><span style="color: green;">catch</span><span style="color: gray;"> </span><span style="color: olive;">(</span><span style="color: blue;">Exception</span><span style="color: gray;"> </span><span style="color: blue;">ex</span><span style="color: olive;">)</span><span style="color: gray;"> </span><span style="color: olive;">{</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: blue;">ex</span><span style="color: gray;">.</span><span style="color: blue;">printStackTrace</span><span style="color: olive;">()</span><span style="color: gray;">;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: olive;">}</span> </li>
<li><span style="color: gray;">&nbsp;</span> </li>
<li><span style="color: gray;">&nbsp; &nbsp; </span><span style="color: olive;">}</span> </li>
<li><span style="color: gray;">&nbsp;</span> </li>
<li><span style="color: olive;">}</span></li>
</ol></div>
          <br/>
          <span style="color:red;">
            <a href="http://daodaodao.javaeye.com/blog/187567#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 28 Apr 2008 15:26:45 +0800</pubDate>
        <link>http://daodaodao.javaeye.com/blog/187567</link>
        <guid>http://daodaodao.javaeye.com/blog/187567</guid>
      </item>
      <item>
        <title>CAS代理的用途</title>
        <author>flymichael</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://daodaodao.javaeye.com">flymichael</a>&nbsp;
          链接：<a href="http://daodaodao.javaeye.com/blog/186670" style="color:red;">http://daodaodao.javaeye.com/blog/186670</a>&nbsp;
          发表时间: 2008年04月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>CAS代理主要应用于非B/S应用场合，如果应用都是B/S应用，那么不会涉及到PGT/PT的使用，当然也可以在B/S应用中通过PGT/PT实现SSO，但这不是Web SSO。</p>
          <br/>
          <span style="color:red;">
            <a href="http://daodaodao.javaeye.com/blog/186670#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 25 Apr 2008 11:16:37 +0800</pubDate>
        <link>http://daodaodao.javaeye.com/blog/186670</link>
        <guid>http://daodaodao.javaeye.com/blog/186670</guid>
      </item>
      <item>
        <title>开天辟地</title>
        <author>flymichael</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://daodaodao.javaeye.com">flymichael</a>&nbsp;
          链接：<a href="http://daodaodao.javaeye.com/blog/186657" style="color:red;">http://daodaodao.javaeye.com/blog/186657</a>&nbsp;
          发表时间: 2008年04月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>博客出现这么久，一直没有功夫上博，今日突有所悟，掐指一算，知缘分到已，开博记录生活中点点滴滴，以为此记。</p>
<p>道一声福生无量天尊，祝福大家福生无量，Java道友道行日进！</p>
          <br/>
          <span style="color:red;">
            <a href="http://daodaodao.javaeye.com/blog/186657#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 25 Apr 2008 10:51:38 +0800</pubDate>
        <link>http://daodaodao.javaeye.com/blog/186657</link>
        <guid>http://daodaodao.javaeye.com/blog/186657</guid>
      </item>
  </channel>
</rss>