﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-专注应用，关注发展，开拓创新-随笔分类-java编程</title><link>http://www.blogjava.net/esdsoftware/category/10776.html</link><description>&lt;-------------------------------------------------------------------&amp; 珍惜生命 . 善用时间 . 把握未来 . 创造价值。</description><language>zh-cn</language><lastBuildDate>Sun, 11 Nov 2007 06:50:35 GMT</lastBuildDate><pubDate>Sun, 11 Nov 2007 06:50:35 GMT</pubDate><ttl>60</ttl><item><title>Jakarta Commons-Email 1.0 发布</title><link>http://www.blogjava.net/esdsoftware/archive/2006/08/04/61615.html</link><dc:creator>吴名居</dc:creator><author>吴名居</author><pubDate>Thu, 03 Aug 2006 16:33:00 GMT</pubDate><guid>http://www.blogjava.net/esdsoftware/archive/2006/08/04/61615.html</guid><wfw:comment>http://www.blogjava.net/esdsoftware/comments/61615.html</wfw:comment><comments>http://www.blogjava.net/esdsoftware/archive/2006/08/04/61615.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/esdsoftware/comments/commentRss/61615.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/esdsoftware/services/trackbacks/61615.html</trackback:ping><description><![CDATA[Jakarta Commons-Email 1.0  版本发布了。<br /><br />Commons-Email 提供了一套更简洁的 操作 邮件的API.<br /><br />Commons-Email 是 基于 JavaMail API 构建.  核心组建只包含很少的几个classes.<br /><br />下面是一些其中的类的简单介绍:<br /><div id="quote">SimpleEmail - This class is used to send basic text based emails.<br /><br />MultiPartEmail - This class is used to send multipart messages. This allows a text message with attachments either inline or attached. <br /><br />HtmlEmail - This class is used to send HTML formatted emails. It has all of the capabilities as MultiPartEmail allowing attachments to be easily added. It also supports embedded images. <br /><br />EmailAttachment - This is a simple container class to allow for easy handling of attachments. It is for use with instances of MultiPartEmail and HtmlEmail.</div><img src ="http://www.blogjava.net/esdsoftware/aggbug/61615.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/esdsoftware/" target="_blank">吴名居</a> 2006-08-04 00:33 <a href="http://www.blogjava.net/esdsoftware/archive/2006/08/04/61615.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java实现的18位身份证格式验证算法</title><link>http://www.blogjava.net/esdsoftware/archive/2006/07/08/57259.html</link><dc:creator>吴名居</dc:creator><author>吴名居</author><pubDate>Sat, 08 Jul 2006 08:38:00 GMT</pubDate><guid>http://www.blogjava.net/esdsoftware/archive/2006/07/08/57259.html</guid><wfw:comment>http://www.blogjava.net/esdsoftware/comments/57259.html</wfw:comment><comments>http://www.blogjava.net/esdsoftware/archive/2006/07/08/57259.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/esdsoftware/comments/commentRss/57259.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/esdsoftware/services/trackbacks/57259.html</trackback:ping><description><![CDATA[公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。1、地址码表示编码对象常住户口所在县（市、旗、区）的行政区划代码，按GB/T2260的规定执行。<br /><br />　　2、出生日期码表示编码对象出生的年、月、日，按GB/T7408的规定执行。年、月、日代码之间不用分隔符。例：某人出生日期为1966年10月26日，其出生日期码为19661026。<br /><br />　　3、顺序码表示在同一地址码所标识的区域范围内，对同年、同月、同日出生的人编定的顺序号，顺序码的奇数分配给男性，偶数千分配给女性。<br /><br />　　4、校验码校验码采用ISO7064：1983，MOD11-2校验码系统。<br /><br />　　1）十七位数字本体码加权求和公式　S=Sum(Ai*Wi),i=0,...,16，先对前17位数字的权求和　Ai:表示第i位置上的身份证号码数字值　Wi:表示第i位置上的加权因子　Wi:7910584216379105842<br /><br />　　2）计算模　Y=mod(S,11)<br /><br />　　3）通过模得到对应的校验码　:012345678910　验码:10X98765432<br /><br />　　下面是java实现的代码<br /><br />　　/**IDCard.javaCreatedon2004-11-517:03:37**/packageorg.yz21.study.idcard;<br /><br />　　/***@authorviolin2004-11-517:03:37*Copyrightwww.yz21.org2003-2004*/publicclassIDCard{//wi=2(n-1)(mod11)finalint[]wi={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1};<br /><br />　　//verifydigitfinalint[]vi={1,0,X,9,8,7,6,5,4,3,2};<br /><br />　　privateint[]ai=newint[18];<br /><br />　　publicIDCard(){}<br /><br />　　//verifypublicbooleanVerify(Stringidcard){if(idcard.length()==15){idcard=uptoeighteen(idcard);}if(idcard.length()!=18){returnfalse;}Stringverify=idcard.substring(17,18);if(verify.equals(getVerify(idcard))){returntrue;}returnfalse;}<br /><br />　　//getverifypublicStringgetVerify(Stringeightcardid){intremaining=0;<br /><br />　　if(eightcardid.length()==18){eightcardid=eightcardid.substring(0,17);}<br /><br />　　if(eightcardid.length()==17){intsum=0;for(inti=0;i&lt;17;i++){Stringk=eightcardid.substring(i,i+1);ai=Integer.parseInt(k);}<br /><br />　　for(inti=0;i&lt;17;i++){sum=sum+wi*ai;}remaining=sum%11;}<br /><br />　　returnremaining==2?"X":String.valueOf(vi[remaining]);}<br /><br />　　//15updateto18publicStringuptoeighteen(Stringfifteencardid){Stringeightcardid=fifteencardid.substring(0,6);eightcardid=eightcardid+"19";eightcardid=eightcardid+fifteencardid.substring(6,15);eightcardid=eightcardid+getVerify(eightcardid);returneightcardid;}<br /><br />　　}<br /><br />　　测试代码：使用的单元测试工具是junit<br /><br />　　/**IDCardTest.javaCreatedon2004-11-517:32:12**/packageorg.yz21.study.idcard;<br /><br />　　importjunit.framework.Test;importjunit.framework.TestCase;importjunit.framework.TestSuite;<br /><br />　　/***@authorviolin2004-11-517:32:12*Copyrightwww.yz21.org2003-2004*/publicclassIDCardTestextendsTestCase{<br /><br />　　privateStringidcard1="11010519491231002X";privateStringidcard2="440524188001010014";<br /><br />　　publicvoidtestVerify(){IDCardidcard=newIDCard();this.assertTrue(idcard.Verify(idcard1));this.assertTrue(idcard.Verify(idcard2));}<br /><br />　　publicstaticTestsuite(){returnnewTestSuite(IDCardTest.class);}<br /><br />　　publicstaticvoidmain(String[]args){junit.textui.TestRunner.run(suite());}} <br /><img src ="http://www.blogjava.net/esdsoftware/aggbug/57259.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/esdsoftware/" target="_blank">吴名居</a> 2006-07-08 16:38 <a href="http://www.blogjava.net/esdsoftware/archive/2006/07/08/57259.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>获取网卡信息</title><link>http://www.blogjava.net/esdsoftware/archive/2006/07/04/56448.html</link><dc:creator>吴名居</dc:creator><author>吴名居</author><pubDate>Tue, 04 Jul 2006 01:09:00 GMT</pubDate><guid>http://www.blogjava.net/esdsoftware/archive/2006/07/04/56448.html</guid><wfw:comment>http://www.blogjava.net/esdsoftware/comments/56448.html</wfw:comment><comments>http://www.blogjava.net/esdsoftware/archive/2006/07/04/56448.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/esdsoftware/comments/commentRss/56448.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/esdsoftware/services/trackbacks/56448.html</trackback:ping><description><![CDATA[<pre><font color="navy"><strong>import  </strong></font>java.net.*;
<font color="darkgreen">//...</font>
&nbsp;
System.out.println(<font color="red">"\n+---------------------[ Network Cards ]----------------------+\n"</font>);
<font color="navy"><strong>try</strong></font><font color="navy">{</font><font color="navy"><strong>for</strong></font>(Enumeration list = NetworkInterface.getNetworkInterfaces(); list.hasMoreElements();)
<font color="navy">{</font>
NetworkInterface iFace = (NetworkInterface)list.nextElement();
System.out.println(<font color="red">"Card:"</font> + iFace.getDisplayName());
InetAddress adr;
<font color="navy"><strong>for</strong></font>(Enumeration addresses = iFace.getInetAddresses(); addresses.hasMoreElements(); System.out.println(<font color="red">" -&gt; "</font> + adr.getHostAddress()))
adr = (InetAddress)addresses.nextElement();
&nbsp;
<font color="navy">}</font>
&nbsp;
<font color="navy">}</font><font color="navy"><strong>catch</strong></font>(SocketException se)
<font color="navy">{</font>
System.out.println(<font color="red">"Failed discovering network cards!"</font>);
System.out.println(<font color="red">"Error: "</font> + se);
<font color="navy">}</font></pre>
<img src ="http://www.blogjava.net/esdsoftware/aggbug/56448.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/esdsoftware/" target="_blank">吴名居</a> 2006-07-04 09:09 <a href="http://www.blogjava.net/esdsoftware/archive/2006/07/04/56448.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>