??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲伊人精品综合在合线,亚洲精品第一国产综合精品,国产亚洲精品精华液http://m.tkk7.com/jelver/category/18446.html每天q步一点点zh-cnThu, 09 Aug 2012 14:58:47 GMTThu, 09 Aug 2012 14:58:47 GMT60高露?-三江茶叶的新H破[转蝲]http://m.tkk7.com/jelver/articles/385184.html都市(jng)淘沙?/dc:creator>都市(jng)淘沙?/author>Thu, 09 Aug 2012 14:54:00 GMThttp://m.tkk7.com/jelver/articles/385184.htmlhttp://m.tkk7.com/jelver/comments/385184.htmlhttp://m.tkk7.com/jelver/articles/385184.html#Feedback0http://m.tkk7.com/jelver/comments/commentRss/385184.htmlhttp://m.tkk7.com/jelver/services/trackbacks/385184.html
高露?-三江茶叶的新H破

    q西三江侗族自治县地处湘、黔、桂三省(?交界?位于q西北部山区,属云贵高原余脉边~的中、低山和丘陵地带Q全县共有约10.2万亩茶园Q其?a style="text-decoration:underline;font-size:14px;color:#F70968;" target="_blank">高露?/a>?三江最h特色的本土茶叶品U之一Q一直以来高露煮茉是备受当Ch喜爱的a(b)茶原料之一Q由于茶叶原料水分充I_性大Q成色灰暗,汤色青黄Q口感苦凉, 很难向高端茶叶突破?012q在县政府,乡政府领导推动下Q该县多ơ邀(g)请中国农U院Q浙江大学,安徽大学{专安导到该县z溪乡高露村对当地老茶?wi)进?调研Q取样实验,力争打造三江特有品牌,在专家的指引下,三江高露?/a>厂赖?jin)安通过多次加工实验Q终于可以将高露茶加工成h地方特色的红茶绿Ӟ其加工的U茶肥壮紧实Q金毫显Ԍ色泽鲜亮Q汤色鲜U,口感l腻Q鲜而爽口,回味甘和Qƈ带有郁持久的花果香Q绿?/span>q茶色泽绿Q茶汤清lK亮Q叶底明亮;香气清新、口感醇香清甜,从而一攚w露茶口感苦ӆ的特性茶叶。茶叶h(hun)g有原来的20元一斤升?00元一斤,茶农的收入也得到相应的提高,来多的h加入到高档茶加工行业中来?br />       如今z溪乡高露村正在加大对原有高露茶品种的种植管理,改良Q现高露村共有老茶?00亩,qq茶叶约8000公斤?/p>

]]>
׃(jin)65刀注册?jin)个域?/title><link>http://m.tkk7.com/jelver/articles/368601.html</link><dc:creator>都市(jng)淘沙?/dc:creator><author>都市(jng)淘沙?/author><pubDate>Mon, 16 Jan 2012 09:45:00 GMT</pubDate><guid>http://m.tkk7.com/jelver/articles/368601.html</guid><wfw:comment>http://m.tkk7.com/jelver/comments/368601.html</wfw:comment><comments>http://m.tkk7.com/jelver/articles/368601.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/jelver/comments/commentRss/368601.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/jelver/services/trackbacks/368601.html</trackback:ping><description><![CDATA[一直打帮安注册个域名来推广自己的茶叶生意,l于注册下来?jin),高露Ӟ在我们那里很出名哦,目前只用Goddday的默认页面,|站q得慢慢花时间来建立<br/><br /> <a title="http://www.gaolucha.com" >http://www.gaolucha.com</a> <img src ="http://m.tkk7.com/jelver/aggbug/368601.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/jelver/" target="_blank">都市(jng)淘沙?/a> 2012-01-16 17:45 <a href="http://m.tkk7.com/jelver/articles/368601.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何做创业项目的陈述和展C?/title><link>http://m.tkk7.com/jelver/articles/354559.html</link><dc:creator>都市(jng)淘沙?/dc:creator><author>都市(jng)淘沙?/author><pubDate>Mon, 18 Jul 2011 12:01:00 GMT</pubDate><guid>http://m.tkk7.com/jelver/articles/354559.html</guid><wfw:comment>http://m.tkk7.com/jelver/comments/354559.html</wfw:comment><comments>http://m.tkk7.com/jelver/articles/354559.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/jelver/comments/commentRss/354559.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/jelver/services/trackbacks/354559.html</trackback:ping><description><![CDATA[<div><h2><a >如何做创业项目的陈述和展C?/a></h2> <p><img src="http://www.arshina.com/wp-content/uploads/2011/07/is098xl5k.jpg" alt="is098xl5k.jpeg" width="480" height="320" /></p> <p><strong>~者按</strong>Q本文由<a >Gary Yang </a>撰写Q他是一周多之前36?q州氪学Cֈ业交活动的L人?/p> <p>一个星期前Q我参加?jin)科技博客36Kr的活动。这是一场半天时间的_ֽzdQ一场创业团队与VC、业内h士的交流的活动?/p> <p>作ؓ(f)zd的主持hQ我有机?x)近距离接触创业团队Q观察他们如何对目做陈q展C、问题应{、提问互动。结合之前对创业团队的了(jin)解和观察Q就产生?jin)这样一文章。我想给创业团队一些徏议,让他们的陈述和展C更好一些?/p> <p>* * *</p> <p>从生一个好x(chng)Q到成ؓ(f)一门好生意Q一直到成就一家好公司Q这光必不可少的一件事情,是你要到处d讌Ӏ陈qͼ或者说是推介。作为创业者,?要日复一日地向h们陈q宣Ԍ׃讲的很多Q有时你可能都忘C(jin)自己在推介:(x)?xi)剔的投资者、热?j)的业内前辈、爱说话的网友粉丝、前来打探消息的媒体、办?执照要讨好的ȝ部门、不误来的N、亦敌亦友的同行、ؓ(f)你兴奋又担心(j)的朋友家人、租用办公室的房?… … 甚至包括劝你早点回家休息的清z工阿姨Q你都会(x)跟他们说你在做的是怎么样一件事情?/p> <p>在所有陈q和推介的对象中Q你可能最重视那些投资机构?jin)。因Z们可能会(x)Z生意注资Q往往q刚好是你生意能否做h的决定性力量。除此之外,投资机构也能从生意的大视角和q往的经验中Z的事业提出指导和Q这也显得难能可c(din)?/p> <p>那么Q我们怎么样做好创业项目的陈述和展C呢Q?/p> <h3><strong>开宗明?/strong></h3> <p>如果说只能提一个徏议,我会(x)创业者陈q自q目能做?#8220;开宗明?#8221;?/p> <p>L开宗明义的那句话有时真的很难。但在这个事情上q所有精力,都将得到丰厚的回报?/p> <p>我们知道Q即使象IBM、Intel、Sumsung、Philipsq样的大公司Q在提出新理忉|者换一个新口号的时候,都是一仉常既费神又昂 늚d。本质上_(d)他们也在己找一?#8220;开宗明?#8221;的一句话。这句话能ؓ(f)整个生意带来不同凡响的效果。做q个事的成本当然不低Q多数还?sh)(x)演变成一场公 司内部声势浩大的q动。公司还?sh)(x)寻求外部支持,所以,L“开宗明?#8221;那句话也是很多营销N的谋生手D,是很多广告公司的赚钱业务?/p> <p>一般说来,好生意都有简明的逻辑。把事情的逻辑和因果关pd的错l复杂也是有的,不过那通常是阴谋和诈骗Q不是生意,臛_不是个好生意?/p> <p>所以创业者应该能在开场的2分钟之内Q就把自q目说清楚。找到言意赅的一两句话,把自己项目说明白。现在,“L(fng)一句话来描qC下你的项 ?#8221;Q这几乎是一个众所周知的要求了(jin)。但是我发现Q创业者们虽然也能用一两句话说?jin),但是一点也不明白,听众在那两句话里面抓不到什么实质性的信息?/p> <p>q是个问题,很明显,q还?sh)?#8220;开宗明?#8221;的那句话。那怎么办?回家l箋(hu)想l找呗。跟语文能力好的师友对话q探讨,我相信你一定能q目扑ֈ一个好说法?/p> <h3><strong>z明?/strong></h3> <p>z明?jin)是Zh都赞同的优点Q但知易行难。创业者ؓ(f)自己的陈q多做准备,加之临场l验的积累,?x)越来越好?/p> <p>如果我们去观察两个怀抱婴儿的妈妈?x)聊些什么,׃(x)发现“语句散O”的现象。通常那是一U极为琐和零散的对话。几乎见不到概括、提要、小l,全都 是细节,而且话题随性又漂移不定。这U常见于C֌的草地边和公园的长椅上的对话Q可以让两个CQ妈妈在午后的闲适时光里享受好一阉|馨情调。但是把q种?话方式拿到商务场合就不行?jin)?/p> <p>不难理解Q新d妈太pq宝贝?jin),也许是q种强烈的爱Q导致了(jin)“语句散O”。那么对于创业团队来_(d)?x)不会(x)因为太pq目Q而导致陈q演C的时候也“语句散O”呢?嗯!q还是一个很普遍的现象呢?/p> <p>当创业者的陈述演示不够利落Q铺排了(jin)很多才进入正题,然后又让听众左等又盼Q才能听到对目实质性的陈述Q很明显Q这是q入?#8220;语句散O”的状态?/p> <p>q样不仅?x)把有限的陈q时间耗掉Q而且也在?xi)战投资者聆听耐心(j)的极限。同Ӟq会(x)让h怀疑你寚w目的理解是否_深入Q甚臛_脆认Z是在努力把一个简单想法编造ؓ(f)一个神奇的故事Q在忽?zhn)人?/p> <p>其实我们在陈q演C的准备阶段Q就应该自问Q是不是׃太喜pq目 ── q个自己?#8220;亲骨?#8221;Q而一头扎q了(jin)l节里去?jin)?说的最多最l的部分Q是不是仅仅因ؓ(f)自己对它最熟?zhn)最热爱Q?/p> <p>z,?#8220;用心(j)割舍”的结果。?#8220;用心(j)割舍”Q代表着良好的判断力?/p> <p>每一位讲者都认ؓ(f)自己的说话听众是喜欢聆听的。不q的是,q只是一厢情愿的x(chng)。只有让自己寚w目的׃持警惕和克制Q才能把听众攑֜?j)上Q认真考虑听众要听的是什么。这P你的陈述才可能保持简z?/p> <p>除此之外Q说一些大家已知的东西Q或者拿些网上的通用数据资料来讲些大道理Q都是对听众~Z?jin)解Q也是造成不够z的原因?/p> <h3><strong>不能叫卖</strong></h3> <p>陈述演示QPresentationQM上说都是一U行销行ؓ(f)。但是不同类型Presentation的差异还是很大。比如:(x)</p> <ul><li>销售演C?QSales presentationQ?/li><li>向投资演C?QInvestor presentationQ?/li></ul> <p>我们通常?x)缺乏向投资者演C的l验Q但是很熟?zhn)销售演C。但是两者不能简单等同,q是两种截然不同的演C?/p> <p>销售演C就是要卖东西,隑օ有鼓吹和自夸的成份。而鼓吹和自夸是在向投资演CZ应该避免的。面对一个创业阶D늚目Q你M上要保持诚恳和客观的态度?/p> <p>一般来_(d)如果凭借吹嘘和引诱的花招来向顾客推销点什么东西,大家q能勉强接受Q也可能是我们见怪不怪了(jin)Q。但是面对经验老道的投资者做陈述和演C,创业者的诚意和项目的真实面貌是打动他们的力量?/p> <p>叫卖的方式行不通,所以我们无需为项目进行不必要的包装,无需为项目v个名不副实的华丽名称。也不要在演CE中q产品“上大?#8221;Q这都是为沟通设|了(jin)障碍?/p> <p>有些词汇很常见,但是它们的䆾量很重,其是真正的生意人都觉得它们的䆾量很重,比如Q?#8220;q_”?#8220;解决Ҏ(gu)”?#8220;一站式服务”{等。要仔细掂量一下你的项目是不是能用得上q样的词汇?/p> <p>如果投资者用白的语a来解释项目的时候,比如Q他_(d)(x)“你的目本质上就?#8230; …嘛!” 听v来项目好?#8220;被贬?#8221;?jin)。如果是q样Q我们应该检查一下,是不是在描述目的时?#8220;用词q猛”?jin)?/p> <h3><strong>没有胜负</strong></h3> <p>投资者可以ؓ(f)创业者的目做点评,l与或高或低的评P投资或不投资Q但他们仍然不是创业者的裁判。你真正的裁判是?jng)场?/p> <p>36Krq样的创业交会(x)Q不是项目评审会(x)Q也不是大专辩论?x)。创业团队和投资者以?qing)各?gu)宾,?x)就某一个问题(sh)生异议和争论Q通常q也是难免的?情。争论来源于寚w题的认知E度的不同,或者仅仅是因ؓ(f)他们的角色不一栗这L(fng)争论有助于对事实的理解,本nq没有胜负的l果Q而且多数争论的话题可?Ҏ(gu)没有标准的{案?/p> <p>所以,没有裁判Q不是辩Z(x)Q没有标准答案,更没有胜负输赢?/p> <p>当然Q从我们的本性上看,人家在指?gu)?#8220;宝贝?rn)?#8221;的不_~陷Q可能还带着质疑和挑(xi)剔的语气Q这让h不爽。于是,反驳甚至强有力的反击语言׃(x)脱口而出。这让讨Z(x)变成?jin)辩Z(x)?/p> <p>我们都知道大专辩Z(x)已经演变成ؓ(f)一场游戏了(jin)Q一场纯_的口舌之争。谁又会(x)把他们的辩论l果拿来成ؓ(f)自己的观念和行事准则呢?</p> <p>那么Q我们就不要为此争口头胜负?/p> <p>虽然大家都说创业交流?x)是一个^{的对话交流。但是客观上看,创业的年MhҎ(gu)资者,C会(x)C、经验、资源都处于下风Q创业者与投资者两方的博弈也是普遍而不争的事实。那么我们怎么能做到^{对话呢Q?/p> <p>我的是可以把q种交流当成一ơ相Ԍ或者仅仅是一?#8220;出来喝一?#8221;的约?x)。婚C和z房之类的事q很遥远Q那׃持一U不求不败的?j)境Q把q次见面当成你认识一个朋友的Z(x)吧?/p> <p>如果你想通了(jin)q是一ơ约?x)。那么现Z׃?x)显?#8220;太紧”。如果你的项目还达不Co(h)人震惊和肃然h的标准,那么拿出欢乐的?j)态来和大家对话?/p> <p>与此对应的是Q一个创业投资者,如果不能从内?j)里理解和喜爱创业者的青ӆ和的个性,不能理解目的不_Ơ缺Q那么他一定不是个好的创业投资者。那么我们有理由怿他的视野太狭H,急功q利Q缺乏放眼未来的胸怀和眼光?/p> <p>如果你哪天遇C(jin)q样的一位创业投资hQ就好比你的U会(x)对象Ҏ(gu)׃是一位美奻I而是一只恐龙。那么,请专?j)品完那杯咖啡Q然后走人?/p> <h3><strong>真实应答</strong></h3> <p>你一定要知道Q这世界上的问题太多Q不必什么都有答案。你的项目也是?/p> <p>你再聪明也不可能回答得了(jin)所有的问题。尤其是你还在做一件未来某个时间才能成功的目。所以不必ؓ(f)不能回答某些问题而感到羞涩。也不要己根本不知道{案的问题编造答案,或者仅仅嘴里嘟囔着一些自׃不理解的话语?/p> <p>勇敢的说我不知道Q这完全是一U得体的应答Qƈ无损于自w?/p> <p>M上讲Q在演示目时要注意应答的多h。徏议如下:(x)</p> <ul><li>有些问题是有{案的,如果知道q短有力的回答?/li><li>有些问题Ҏ(gu)没有答案。那么直接说你不知道?/li><li>有些问题的确很难Q你也不可能瞬间l提问者制造一个答案出来,直接说你要再x(chng)?/li><li>有些问题被提出来Q提问者自׃不认Z(x)有好{案Q他只是问问而已。那你就向他hQ问问他是怎么想的?/li><li>有问必答一定是p|的。听众会(x)感觉Z来了(jin)一个万事通,对万事皆有答案。结果导致陈qC本来有说服力的那部分Q也因ؓ(f)q种的态度l损掉,甚至q场面也输掉?/li></ul> <p>值得注意的是Q有时投资h故意语意锐严厉Q你也不要ؕ?jin)阵脚,不要以?f)人家故意来折你。其实,他们很可能是在试探创业年Mh?#8220;抗压能力”。也总有点把这个测试提前了(jin)一些,但这恰恰说明?jin)他可?#8220;喜欢”上了(jin)你?/p> <h3><strong>英雄也要问出?/strong></h3> <p>我常帔R那些准备L案、投标、做目陈述的hQ?#8220;我们把所有资料寄送给客户p?jin),Z么客户一定要见见我们Q?#8221; q是个好问题Q因Z只有理解?jin)客戯见你的原因,你才知道如何d有针Ҏ(gu)的准备?/p> <p>如果创业团队把完整的目资料送给投资方,资料袋里包含?jin)一切,甚至也把难懂的Y件操作录成视频刻成光盘(sh)同送过来。那么,是不是就不用亲自来演Cq目?jin)?/p> <p>所有h都知道这不可以。ؓ(f)什么?</p> <p>有h说看资料很篏Q还可能?x)看不懂Q有问题又没人即时解{,{等。但是这些都不是最重要的原因。最重要的是Qh家要看看你是什么样的hQ?/p> <p>有h_(d)人(团队Q的相关情况是项目的重要部分。我说不寏Vh的因素不是项目资料的一部分Q它是所有部分的栏V?/p> <p>像Gerald M. Weinberg说的那样Q?/p> <blockquote><p>无论问题最初看h怎样Q它始终是h的问题?/p></blockquote> <p>所以创业者少不了(jin)要对自己和团队的背景加以介绍Q即使你的专业、历和背景与这个项目无太大兌Q你的思想、个性、h(hun)D{等也会(x)从过ȝ历中体现出来?/p> <p>介绍自己是一Ҏ(gu)单又困难的事情。听众对你的印象Q一半来自你自我介绍的信息,另一半来自你自我介绍的态度。陈q者也不用费心(j)L捏姿态,不用L是保持高傲一些好Q还是谦卑一些更有利Q真实最为好。这不涉?qing)攀比资历,有光鲜资历有更好Q没有也无妨?/p> <p>“自我介绍”环节是值得ȝ?j)准备的。选择一个好的角度,完全可以把^凡的人生l历说得有趣而吸引h。还可以把自q思考和体验融入q去Q提升沟通的质量?/p> <p>* * *</p> 以上是我l出的几条徏议。对于如何向投资者做陈述演示Q我非常愿意听到q方面的意见和徏?/div><img src ="http://m.tkk7.com/jelver/aggbug/354559.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/jelver/" target="_blank">都市(jng)淘沙?/a> 2011-07-18 20:01 <a href="http://m.tkk7.com/jelver/articles/354559.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于AESQ?6字节Q加密解密算法的java实现http://m.tkk7.com/jelver/articles/346416.html都市(jng)淘沙?/dc:creator>都市(jng)淘沙?/author>Wed, 16 Mar 2011 10:11:00 GMThttp://m.tkk7.com/jelver/articles/346416.htmlhttp://m.tkk7.com/jelver/comments/346416.htmlhttp://m.tkk7.com/jelver/articles/346416.html#Feedback0http://m.tkk7.com/jelver/comments/commentRss/346416.htmlhttp://m.tkk7.com/jelver/services/trackbacks/346416.html关于AESQ?6字节Q加密解密算法的java实现
Ҏ(gu)指定的字W串来实现AES加密和解密,密匙可参数化配置Q加密后数据的前两个字节是数据包的长度,加密法选用AES
/ECB /PKCS5Padding。即采用标准AES法Q把全报文按照每?6字节分块q行加解密,对于不16字节的数据块按照PKCS5方式补充Q缺N 个字节则把缺的N个字节都以N来填充,最后一个数据块刚好16字节Q则增加一个全部字节都填充?6的数据块?br /> =====================================
AesHandler.java
=====================================
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.security.GeneralSecurityException;
import java.util.List;

import javax.crypto.Cipher;
import javax.crypto.ShortBufferException;
import javax.crypto.spec.SecretKeySpec;

import org.dom4j.Document;
import org.dom4j.io.SAXReader;
import org.dom4j.DocumentException;
import org.dom4j.Element;

public class AesHandler {

private String plainTextFile = "src/encode.txt";// 明文文g
private String cipherTextFile = "src/aesDecode.txt";// 密文文g
private String keyFile = "src/aesKey.xml";// 加密密匙文g

/**
*
@param keyName
*            加密密匙?br /> * 
@return
*/
public SecretKeySpec createKey(String keyName) {
SAXReader reader 
= new SAXReader();
Document doc;
SecretKeySpec skeySpec 
= null;
byte[] raw;
File keyXmlFile 
= new File(keyFile);
try {
doc 
= reader.read(keyXmlFile);
Element root 
= doc.getRootElement();
List items 
= root.elements("key16");
for(int i = 0; i < items.size(); i++){
Element node 
= (Element)items.get(i);
if(keyName.equalsIgnoreCase(node.attributeValue("name"))){
raw 
= node.attributeValue("value").getBytes("ASCII");
skeySpec 
= new SecretKeySpec(raw, "AES");
return skeySpec;
}
}
catch (DocumentException e) {
e.printStackTrace();
// throw new HiException(HiMessageCode.ERR_PARSE_FAILURE, _fmtFile,
// e);
catch (MalformedURLException e) {
e.printStackTrace();
catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return skeySpec;
}

/**
*
@param code
*            选择加密或解密操作码
@param keyFileStr
*            加密密匙文g
@param plainFile 明文文g
@param cipherFile 密文文g
@param keyName 密匙?nbsp;         
*/
public void run(String code, String keyName) {
int mode = Cipher.ENCRYPT_MODE;
InputStream in 
= null;
OutputStream out 
= null;
try {
SecretKeySpec skeySpec 
= createKey(keyName);
Cipher cipher 
= Cipher.getInstance("AES/ECB/PKCS5Padding");
if ("DECODE".equals(code)) {
mode 
= Cipher.DECRYPT_MODE;
in 
= new FileInputStream(cipherTextFile);
out 
= new FileOutputStream(plainTextFile);
cipher.init(mode, skeySpec);
decrypt(in, out, cipher);
// 解密
else {
in 
= new FileInputStream(plainTextFile);
out 
= new FileOutputStream(cipherTextFile);
cipher.init(mode, skeySpec);
encrypt(in, out, cipher);
// 加密
}
in.close();
out.close();
catch (Exception e) {
e.printStackTrace();
}
}

public static byte[] shortToByteArray(int valor) {
byte[] result = new byte[2];
for (int i = 0; i < result.length; i++) {
result[
1 - i] = (byte) (valor & 0xFF);
valor 
= valor >> 8;
}
return result;
}

/**
* 加密法
*
@param in
*            明文数据?hu)?br /> * 
@param out
*            密文数据?hu)?br /> * 
@param cipher
@throws IOException
@throws ShortBufferException
@throws GeneralSecurityException
*/
public static void encrypt(InputStream in, OutputStream out, Cipher cipher)
throws IOException, ShortBufferException, GeneralSecurityException {
int blockSize = cipher.getBlockSize();
int outputSize = cipher.getOutputSize(blockSize);
byte[] inBytes = new byte[blockSize];
byte[] outBytes = new byte[outputSize];
byte[] appendAllBytes = new byte[blockSize];
byte[] appendBytes = new byte[blockSize];
int inLength = 0;
int length1 = in.available();
boolean more = true;
int yushu = length1 % 16;
if (yushu == 0) {
for (int i = 0; i < 16; i++) {
appendAllBytes[i] 
= new Integer(16).byteValue();
}
out.write(shortToByteArray(length1 
+ blockSize));
else {
int N = blockSize - yushu;
out.write(shortToByteArray(length1 
+ N));
}
while (more) {
inLength 
= in.read(inBytes);
if (inLength == blockSize) {
int outLength = cipher.update(inBytes, 0, blockSize, outBytes);
out.write(outBytes, 
0, outLength);
else
more 
= false;
}
if (inLength > 0 && inLength < blockSize) {// 不16字节的数据块按照PKCS5方式补充Q缺N个字节则把缺的N个字节都以N来填?/span>
int N = blockSize - inLength;
for (int M = inLength; M < blockSize; M++) {
inBytes[M] 
= new Integer(N).byteValue();
}
outBytes 
= cipher.doFinal(inBytes, 0, inLength);
out.write(outBytes);
else if (inLength == 0) {// 如果正好?6位,则增加一个全部字节都填充?6的数据块
int outLength = cipher.doFinal(appendBytes, 0, blockSize, outBytes);
out.write(outBytes, 
0, outLength);
}
out.flush();
}

/**
* 解密法
*
@param in
*            密文数据?hu)?br /> * 
@param out
*            明文数据?hu)?br /> * 
@param cipher
@throws IOException
@throws ShortBufferException
@throws GeneralSecurityException
*/
public static void decrypt(InputStream in, OutputStream out, Cipher cipher)
throws IOException, ShortBufferException, GeneralSecurityException {
int blockSize = cipher.getBlockSize();
int outputSize = cipher.getOutputSize(blockSize);
byte[] inBytes = new byte[blockSize];
byte[] outBytes = new byte[outputSize];
byte[] dataLength = new byte[2];
int inLength = 0;
boolean more = true;
in.read(dataLength);
// 数据包的长度读入到byte数组?/span>
while (more) {
inLength 
= in.read(inBytes);
if (inLength == blockSize) {
int outLength = cipher.update(inBytes, 0, blockSize, outBytes);
out.write(outBytes, 
0, outLength);
else
more 
= false;
}
if (inLength > 0) {
outBytes 
= cipher.doFinal(inBytes, 0, inLength);
else {
outBytes 
= cipher.doFinal();
}
out.write(outBytes);
out.flush();
}

public String getPlainTextFile() {
return plainTextFile;
}

public void setPlainTextFile(String plainTextFile) {
this.plainTextFile = plainTextFile;
}

public String getCipherTextFile() {
return cipherTextFile;
}

public void setCipherTextFile(String cipherTextFile) {
this.cipherTextFile = cipherTextFile;
}
public String getKeyFile() {
return keyFile;
}

public void setKeyFile(String keyFile) {
this.keyFile = keyFile;
}
}
=======================================================================
aesKey.xml文g
=============================
<?xml version="1.0" encoding="GB2312"?>
<KEY>
<key16 name="test" value="16BAESBocHK2Mcis"></key16>
</KEY>
=======================================================================
试Q?br /> 加密密钥: 16BAESBocHK2Mcis
明文: ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#$
%!&*()_+-=:;'?,./
密文为:(x)  
=========================From 001 Lines to 016============================
Debug: 
-1--2--3--4--5--6--7--8--9-HEX-1--2--3--4--5--6   ---ASCII Value--
0000100 40 0e 49 32 64 f8 07 c0 fd 22 80 49 6f 80 32   .@.I2d..?/span>".Io.2
0000250 c5 97 73 f4 55 83 fb 59 6d 85 3c 82 1c 30 a3   P艞s.U凔Ym.<..0.
00003: d8 49 45 fc e2 83 3d 39 a2 d2 6e 06 4f a6 94 1c   .IE .=9⒁n.O .
0000419 2d 38 6d 81 e7 34 3b f7 5d 2b ff 83 a6 14 c2   .-8m?;.]+P?/span>?..
00005: 2d 0e                                            >-.
====================================end================================

]]>
Rich Media Adhttp://m.tkk7.com/jelver/articles/340665.html都市(jng)淘沙?/dc:creator>都市(jng)淘沙?/author>Tue, 14 Dec 2010 08:33:00 GMThttp://m.tkk7.com/jelver/articles/340665.htmlhttp://m.tkk7.com/jelver/comments/340665.htmlhttp://m.tkk7.com/jelver/articles/340665.html#Feedback0http://m.tkk7.com/jelver/comments/commentRss/340665.htmlhttp://m.tkk7.com/jelver/services/trackbacks/340665.htmlsource : http://kevincao.com/2005/11/rich-media-ad/

q日我们?a title="http://www.eyeblaster.com/" rel="external">Eyeblasterq行一个小型的交流?x)?br /> Eyeblaster提供?jin)一个富媒体q告的^台。基于这个^収ͼ创意人员、开发h员可以更单的做出各种cd的富媒体q告。Eyeblaster把富媒体q告分ؓ(f)?jin)几大类Q?/p>

  • Polite BannerQ就是传l类型的|页q告?/li>
  • Full Page OverlayQ一U覆盖在整个|页上的q告?/li>
  • Floating ADQQ动广告?/li>
  • Expandable BannerQ同样固定在|页上的某个位置Q不q位|可以扩展,q就比传l类型的q告更有意思些?/li>
  • Commercial BreakQ页面切换的时候,先播放一D广告再切换Q就是这一cd?/li>
  • Wallpaper ADQ把q告做ؓ(f)|页的背景,与页面上的广告相互呼应?/li>
  • Window ADQ弹出窗口式q告?/li>
  • Video ClipQ视频广告。这cd告通常很大Q文仉常不是直接攑֜|站的服务器上,而是由Eyeblaster提供专门的广告服务器来承担这部分量?/li>
  • Video StripQ同h视频的,加入?jin)些交互的元素?/li>
  • Push Down BannerQ广告位?x)被撑大Q从而网内容会(x)?#8220;Push Down”的一U广告类型?/li>


Ҏ(gu)q些分类QEyeblaster提供?jin)对应的命o(h)包,制作人员在制作Flash的时候就可以通过调用q些命o(h)来快速达到对应的效果。思\其实是很? 的,技术实现其实也不复杂。另外通过把广告流量分d来,成功的解决了(jin)投放媒体q告的文仉限制。得很多更具创意的x(chng)能够得以实现Q视频? minisite banner{等在国外已l有很多案例?jin)?br /> Eyeblasterq(sh)各大媒体Q门L(fng){徏立了(jin)合作关系Q得他们的富媒体广告能够被支持Q这才是他们的优ѝ他们自己制定了(jin)富媒体广告的标准Qƈ? 媒体和广告制作商都去支持他们的标准,q才是最重要的。当?dng)修炼自n的功夫也是保持常胜常新的Ҏ(gu)。在现有的富媒体q告的分cMQ他们还在探索新的广? 形式。同时广告发布的q_也要被不断的完善h?br /> 国内的富媒体q告才刚刚v步。几大媒体门P(x)新浪?63、搜狐等Ҏ(gu)的限制还比较歅R众多网lhҎ(gu)的认知更是ؓ(f)零。Eyeblaster正着力开拓这块新兴的?jng)场。我们呢Q?/p>

]]>
l典古文名句http://m.tkk7.com/jelver/articles/93148.html都市(jng)淘沙?/dc:creator>都市(jng)淘沙?/author>Thu, 11 Jan 2007 06:14:00 GMThttp://m.tkk7.com/jelver/articles/93148.htmlhttp://m.tkk7.com/jelver/comments/93148.htmlhttp://m.tkk7.com/jelver/articles/93148.html#Feedback0http://m.tkk7.com/jelver/comments/commentRss/93148.htmlhttp://m.tkk7.com/jelver/services/trackbacks/93148.html2Q言者无|,闻者戒。(《诗l·大序》)(j)
3Q它׃矻I可以ȝ。(《诗l·小雅·鹤鸣》)(j)
4Q投我以桃,报之以李。(《诗l·大雅h》)(j)
5Q靡不有初,鲜克有终。(《诗l·大雅¯》)(j)
6Q长太息以掩涕兮Q哀民生之多艰。(屈原Q离?d)》)(j)
7Q\漫O其修q兮Q吾上下而求索。(屈原Q离?d)》)(j)
8Q吾不能变心(j)以从俗兮Q团愁苦而终I(屈原《涉江》)(j)
9Q尺有所短,寸有所ѝ(《楚辞·卜居》)(j)
10Q亦余心(j)之所善兮Q虽?ji)死其犹未(zhn)。(楚辞Q离?d)》)(j)
11Q其曲I高,其和弥寡。(?hu)玉Q对楚王问》)(j)
12Q满招损Q谦受益。(《尚书》)(j)
13Q欲加之|,何?zhn)无辞。(《左传·僖公十q》)(j)
14Qh非圣贤,孰能无过Q过而能改,善莫大焉。(《左传》)(j)
15Q辅车相依,唇亡齿寒。(《左传·僖公五q》)(j)
16Q武夫力而拘诸原Q妇人暂而免诸国。(《左传·僖公三十二q至三十三年》)(j)
17Q前事不忘,后事之师。(《战国策·늭Q)(j)
18Q亡补牢,Ҏ(gu)q也。(《战国策·楚策》)(j)
19Q知q|百战?sh)殆。(《孙子兵法¯攅R)(j)
20Q千里之行,始于下。(《老子·六十四章Q)(j)
21Q祸兮福之所倚,兮怹所伏。(《老子·五十八章Q)(j)
22Q天|恢恢,疏而不漏。(《老子·七十三章Q)(j)
23Q知智Q自知者明。(《老子Q)(j)
24Q物以类聚,Z分。(《易l)(j)Q?br />25Q工Ʋ善其事Q必先利其器。(《论语·卫灵公》)(j)
26Q往者不可谏Q来者犹可追。(《论语·微子)(j)Q?br />27Q己所不欲Q勿施于人。(《论语·颜渊》)(j)
28Q三军可夺帅也,匹夫不可夺志也。(《论语·子|》)(j)
29Q学而不思则|,思而不学则D。(《论语·ؓ(f)ѝ)(j)
30Q学而不厌,诲h不倦。(《论语¯两》)(j)
31Q君子坦荡荡Q小人常戚戚。(《论语¯而》)(j)
32Qh无远虑,必有q忧。(《论语·卫灵公Q)(j)
33Q言必信Q行必果。(《论语·子路)(j)Q?br />34Q与朋友交,a而有信。(《论语·学而)(j)Q?br />35Q有则改之,无则加勉。(《论语》)(j)
36Q是可忍Q孰不可忍。(《论语·八佾)(j)Q?br />37Q敏而好学,不M问。(《论语·公冉Q)(j)
38Q吾生也有(dng)Q而知也无涯。(《庄子·养生主Q)(j)
39Q十q树(wi)木,癑ֹ?wi)h。(《管子h修》)(j)
4OQ橘生淮南则为橘Q生于谁北则为枳。(《晏子春U》)(j)

41Q达则兼天下,I则独善其n。(《孟子·尽?j)上Q)(j)
42Q老吾老,以及(qing)Z老;q吾q|以及(qing)Zq{(《孟子h惠王下)(j)Q?br />43Q天时不如地利,地利不如人和。(《孟子·公孙丑Q)(j)
44Q民Q社Eh之,君ؓ(f)轅R(《孟子·尽?j)上Q)(j)
45Q得道者多助,失道者寡助。(《孟子·公孙丑Q)(j)
46Q生于优(zhn),M安乐。(《孟子·告于下》)(j)
47Q富贵不能淫Q׃能移Q威武不能屈。(《孟子h文公下》)(j)
48Q尽信书Q不如无书。(《孟子·尽?j)下》)(j)
49Q生Q亦我所Ʋ也Q义Q亦我所Ʋ也Q二者不可得|舍生而取义者也。(《孟子·鱼我所Ʋ也》)(j)
50Q锲而舍之,朽木不折Q锲而不舍,金石可镂。(《苟子·劝学)(j)Q?br />5lQ蓬生麻中,不扶而直Q白沙在提,与之俱黑。(《苟子·劝学》)(j)
52Q千里之堤,溃于蚁穴。(《韩非子·喻老》)(j)
53Q流水不腐,h不蠹Q动也。(《吕氏春U·尽敎ͼ(j)Q?br />54Q独学而无友,则孤陋而寡闅R(《礼變Wh讎ͼ(j)Q?br />55Q一张一弛,文武之道。(《礼變WhC》)(j)
56Q玉不琢Q不成器Qh不学Q不知道。(《礼變W学记》)(j)
57Q凡事预则立Q不预则废。(《礼變W中庸》)(j)
58Q(f)渊M|不如退而结|。(《汉书¯仲舒传》)(j)
59Q塞失马,焉知非福。(《淮南子·人间训》)(j)
60Q失之毫厘,谬以千里。(《史變W太史公自序》)(j)
61Q桃李不aQ下自成y。(《史變Wh军列传》)(j)
62Q智者千虑,必有一失;愚者千虑,必有一得。(《史记淮阴侯列传》)(j)
63Q良药苦口利于病Q忠a逆耛_于行。(《史记》)(j)
64Q项庄舞剑,意在沛公。(《史變W项本记》)(j)
65Q大行不儡谨,大礼不辞让。(《史變W项本记》)(j)
66Qh为刀俎,我ؓ(f)D。(《史變W项本记》)(j)
67Q不鸣则Ԍ一鸣惊人。(《史變WhE列传》)(j)
68Q文王拘而演《周易》;仲尼厄而作《春U》;屈原N,乃赋Q离?d)》;左丘失明Q厥有《国语》;孙子膑脚Q兵法修列;不韦q蜀Q世传《吕览》;韩非国秦Q《说难》《孤愤》;《诗》三癄Q大抵贤圣发愤之所Z也。(叔Rq《报d书》)(j)
69Q锯木断,水滴石穿。(班固《汉书》)(j)
70Q水x(chng)则无|家则无徒。(班固《汉书·东Ҏ(gu)传》)(j)
71Q少壮不努力Q老大徒伤(zhn)ԌQ汉乐府《长歌行》)(j)
72Q行N者,半于?ji)十。(汉(逸诗句风雅逸篇四》)(j)
73Q失之东隅,收之桑榆。(范晔Q后汉书·冯异传)(j)Q?br />74Q精诚所臻I金石为开。(范晔Q后汉书·qK思王荆传》)(j)
75Q盛名之下,其实隑։。(南朝?hu)¯晔(后汉书·黄gQ)(j)
76Q不I_(d)焉得虎子。(范晔《后汉书·班超传)(j)Q?br />77Q疾风知劲草Q岁寒见后凋 (tng)。(范晔《后汉书》)(j)
78Q老骥伏枥 (tng)志在千里Q烈士暮q_(d)壮心(j)?yu)已。(Ҏ(gu)《龟虽寿》)(j)
79Q鞠w尽瘁,死而后巌Ӏ(诸葛亮《后出师表》)(j)
80Q非淡泊无以明志Q非宁静(rn)无以致远。(诸葛亮《诫子书》)(j)
81Q勿以恶而ؓ(f)之,勿以善小而不为。(西晋·陈寿《三国志Q)(j)
82Q士别三日,卛_刮目相待。(陈寿Q三国志·吴书Q)(j)
83 (tng)好读书,不求甚解。每有会(x)意,便欣然忘食。(东晋·陶渊明《五柛_生传》)(j)
84Q奇文共ƣ赏Q疑义相与析。(陶渊明《移居》)(j)
85Q山气日夕佳Q飞鸟相与还。(陶渊明《饮酒》)(j)
86Q木ƣ欣以向荣,泉涓涓而始。(晋·陶渊明《归L兮辞》)(j)
87Q盛q不重来Q一日难再晨。(陶渊明《杂诗》)(j)
88Q及(qing)时当勉励Q岁月不待h。(陶渊明《杂诗》)(j)
89Q宁为玉,不ؓ(f)瓦全。(《北齐书》)(j)
90Q若要h不知Q除非己莫ؓ(f)。(枚乘《上书谏吴王》)(j)
91Q近p赤Q近墨者黑。(晋·傅玄〈太子不傅》)(j)
92Q机不可失,׃再来。(《新五代史h书》)(j)
93Q登山则情满于山Q观则意溢于v。(南朝梁·刘勰《文?j)雕龙》)(j)
94Q蝉噪林N(rn)Q鸟鸣山更幽。(南朝梁L(fng)c〈入若耶溪》)(j)
95Qv内存知己Q天涯若比邻。(唐L(fng)勃〈送杜府之Q蜀州》)(j)
96Q落霞与孤鹜齐飞Q秋水共长天一艌Ӏ(唐L(fng)勃《膝王阁序〉)(j)
97Qv上生明月Q天涯共此时。(唐·张?ji)龄Q望月怀q》)(j)
98Qh世有代谢Q往来成古今。(唐·孟然《与诸子d山》)(j)
99Q绿?wi)村边合Q青山郭外斜。(唐·孟然《过故h庄》)(j)
100Q大漠孤烟直Q长沌日圆。(唐。王l《臛_上》)(j)
101Q独在异乡ؓ(f)异客Q每逢佳节倍思亲。(唐L(fng)l〈九(ji)月九(ji)日忆׃兄弟》)(j)
102Q劝君更q一杯酒Q西出阳x(chng)故h。(唐L(fng)l〈送元二安西》)(j)
103Q白日依山尽Q黄河hh。欲I千里目Q更上一层楼。(唐L(fng)之涣《登鹳雀楹{)(j)
104Q莫愁前路无知己Q天下谁Z识君。(唐·高适(别董大)(j)Q?br />105Q忽如一夜春风来Q千?wi)万树(wi)梨花开。(唐·岑参〈白雪歌送武判官归京》)(j)
l06Q马上相逢无U笔Q凭君传语报q_。(唐·岑参〈逢h京〉)(j)
l07Q近乡情更怯,不敢问来人。(唐h频《渡汉江Q)(j)
108Q两岸猿声啼不住Q轻舟已q万重山。(唐h白《早发白帝城〉)(j)
l09QD头望明月Q低头思故乡。(唐李白《静(rn)夜思》)(j)
110Q清水出芙蓉Q天然去雕饰。(唐h白《论诗〉)(j)
1llQ天生我材必有用Q千金散还复来。(唐h白《将q酒〉)(j)
112Q安能摧眉折C权贵Q我不得开?j)颜Q唐李白《梦游天姥吟留别》)(j)
113Q孤帆远qI尽Q惟见长江天际流。(唐李白《送孟然之广c(din))(j)
114Q长风破会(x)有时Q直挂云帆济沧v。(唐李白《行路难Q)(j)
115Q朱门酒肉臭Q\有冻死骨。(唐杜甫《自京ʎ奉先县咏怀五百字》)(j)
116Q酒债寻常行处有Qh生七十古来稀。(唐h甫《曲江》)(j)
117Q无边落木萧萧下Q不长江滚滚来。(唐h甫《登高》)(j)
118Q读书破万卷Q下W如有神。(唐杜甫(奉赠韦左丞二十二c(din))(j)
119Qؓ(f)人性僻耽佳句,语不惊hM休。(唐h甫《江上值水如v势聊短述》)(j)
120Q露从今夜白Q月是故乡明。(唐h甫《月夜忆弟舍》)(j)
121Q出师未捯n先死Q长使英雄泪满襟。(唐h甫〈蜀相》)(j)
122Q笔落惊风雨Q诗成泣鬼神。(唐h甫(寄李十二白二十》)(j)
123Q文章千古事Q得失寸?j)知。(唐h甫〈偶题》)(j)
124Q正是江南好风景Q落花时节又逢君。(唐h甫(江南逢李龟年Q)(j)
125Q安得广厦千万间Q大庇天下寒士俱Ƣ颜Q风雨不动安如山Q呜|何时
眼前H兀见此屋,向ֺ独破受冻M뀂(唐h甫《茅屋ؓ(f)U凤所破歌》)(j)
126Q二句三q得Q一吟双泪流。(唐¯岛《题诗后〉)(j)
127Q谁a寸草?j),报得三春晖。(唐·孟郊《游子吟Q)(j)
128Q蚍蜉撼大树(wi)Q可W不自量。(唐·韩愈《调张籍》)(j)
129Q不塞不,不止不行。(唐·韩愈《原道》)(j)
130Q业_于勤荒于嬉Q行成于思毁于随。(唐·韩愈〈进学解〉)(j)
131Q李杜文章在Q光?l)C丈长。(唐·韩愈《调张籍》)(j)
132Q我有迷招不得Q雄鸡一叫天下白。(唐h贺《致酒行》)(j)
133Q衰兰送客咔R道,天若有情天亦老。(唐h贺《金铜仙汉歌〉)(j)
134Q不见年q辽上Q文章何处哭U风。(唐h贺《南园》)(j)
135Q沉舟侧畔千帆过Q病?wi)前头万木春。(唐·刘赐《酬乐天扬州初逢席上见赠?br />136Q东Ҏ(gu)?gu)辚wQ道是无晴却有晴。(唐·刘w《竹枝词》)(j)
137Q山不在高,有仙则名Q水不在深,有龙则灵。(唐刘w〈陋室铭〉)(j)
138Q千淘(sh)?j)虽辛苦Q吹狂沙始到金。(唐·刘w《浪淘沙》)(j)
139Q请君莫奏前朝曲Q听曲新Lx(chng)。(唐·刘w《杨x(chng)词九(ji)首》)(j)
140Q文章合为时而著Q歌诗合Z而作。(唐L(fng)居易《与元九(ji)书》)(j)
141Q野火烧不尽Q春风吹又生。(唐L(fng)居易《赋得古原草送别》)(j)
142Q同是天涯落hQ相适何必曾相识。(唐L(fng)居易《琵琶行》)(j)
143Q试玉要烧三日满QL材须待七q期。(唐L(fng)居易《放a》)(j)
144Qؕ花渐Ʋ迷人眼Q浅草才能没马蹄。(唐L(fng)居易《钱塘湖春行》)(j)
145Q醉卧沙场君莫笑Q古来征战几人回Q(唐L(fng)凉州词》)(j)
146Q千里莺啼绿映红Q水村山郭酒旗风。(唐h牧〈江南村l句》)(j)
147Q烟W寒水月W沙Q夜泊秦淮近酒家。(唐h牧《泊U淮》)(j)
148Q春蚕到M方尽Q蜡炬成灰泪始于。(唐h商隐《无题》)(j)
149Qn无彩凤双飞翼Q心(j)有灵犀一炚w。(唐h商隐Q无题》)(j)
150Q相见时隑ֈ亦难Q东风无力百花残(hu)。(唐h商隐《无题》)(j)
151Q夕x(chng)限好Q只是近黄昏。(唐h商隐《乐游原〉)(j)
152Q天意伉(j)q草Qh间重晚情。(唐h商隐〈晚情〉)(j)
153Q风暧鸟声碎Q日高花影重。(唐h荀鹤《春宫怨》)(j)
154Q曾l难为水Q除却巫׃是云。(唐·元EV离思》)(j)
155Q姑苏城外寒山寺Q夜半钟声到客船。(唐·张l〈枫桥夜泊》)(j)
156Q吟安一个字Q捻断数茎须。(唐·卢延让〈苦吟〉)(j)
157Q苦恨年q压金线Qؓ(f)他h作嫁衣裳。(唐L(fng)韬玉〈奟뀋)(j)
158Qv阔凭DQ天高(sh)Q鸟飞。(僧云览诗中之句)(j)
159Q溪云初h沉阁Q山雨欲来风满楼。(唐¯咸阛_东楼〉)(j)
160Q罄南山之竹Q书|无IP决东之波,恶隑ְ。(唐祖君R《ؓ(f)李密?jing)洛州文》)(j)
161Q云p苍,江水泱泱Q先生之风,山高水长。(?hu)¯仲〈严先生堂记》)(j)
162Q先天下之忧而忧Q后天下之乐而乐。(?hu)¯仲《岳x(chng)记》)(j)
163Q醉之意不在酒Q在乎山水之间也。(?hu)h阳修〈醉亭记〉)(j)
164Q雪消门外青qQ花发江边二月晴。(?hu)h阳修《春日西湖记谢法Ҏ(gu)〉)(j) (tng)
165Q忧力_以兴国,逸U可以亡n。(?hu)h阳修〈伉(j)官(sh)序〉)(j)
l66Q衣带渐宽终不?zhn)Qؓ(f)伊消得h憔?zhn)。(?hu)h永〈凤栖梧〉)(j)
167Q兼听则明,偏信则暗。(?hu)·司马光《资治通鉴》)(j)
168Q由俭入奢易Q由奢入俭难。(?hu)·司马光〈训俭示店)(j)
169Q春风又l江南岸Q明月何时照我还。(?hu)L(fng)安石〈泊船瓜州〉)(j)
17oQ不畏Q云遮望眼Q只~n在最高层。(?hu)L(fng)安石《登飞来峰》)(j)
171Q欲把西湖比西子QE妆浓Ҏ(gu)ȝ宜。(?hu)¯轹{饮湖上初晴后雨》)(j)
172Q山高月,水落矛_。(?hu)¯试《后赤壁赋》)(j)
173Q但愿h长久Q千里共蝉娟。(?hu)¯试《水调歌头》)(j)
174Qh有?zhn)Ƣ离合,月有阴晴圆缺。宋(hu)·苏轼《水调歌头》)(j)
175·横看成岭侧成峎ͼq近高(sh)各不同。不识庐q面目Q只~n在此׃。(?hu)¯轹{题西林壁》)(j)
176Q竹外桃׃两枝Q春江水暖鸭先知。(?hu)¯轹{惠崇〈春江晚景》)(j)
177Q嬉W怒骂Q皆成文章。(?hu)·黄庭坚〈东坡先生真赞〉)(j)
178Q生当作人杰Q死亦ؓ(f)鬼雄。(?hu)h清照《夏日绝句〉)(j)
179Q山重水复疑无\Q柳暗花明又一村。(?hu)·陆游〈游p村〉)(j)
180Q夜阑卧听风吚wQ铁马冰河h梦来。(?hu)·陆游十一月四日风雨大作》)(j)
181Q纸上得来终觉浅Q绝知此事要?li)w行。(?hu)·陆游〈冬夜读书示子聿》)(j)
182Q王师北定中原日Q家无忘告乃翁。(?hu)陆游〈示ѝ)(j)
183Q文章本天成Q妙手偶得之。(?hu)·陆游〈文章〉)(j)
184Q出师一表真名世Q千载谁堪伯仲间。(?hu)·陆游《书愤》)(j)
185Q小h露尖角Q早有蜻蜓立上头。(?hu)h万里〈小池〉)(j)
186Q接天莲叶无IL(fng)Q映日荷花别L(fng)。(?hu)h万里《晓出净慈寺送林子方》)(j)
187Q青山遮不住Q毕竟东去。(?hu)¯弃疾〈菩萨蛮》)(j)
188Q千古兴亡多事Q?zhn)?zhn),不尽长江滚滚。(?hu)¯弃疾〈南乡子》)(j)
189Q念桥边U药Q年q知生!Q宋(hu)·姜夔《扬州慢Q)(j)
190Qh生自古谁无死留取丹心(j)照汗青。(?hu)h天祥《过零丁z》)(j)
191Q春色满园关不住Q一枝红杏出墙来。(?hu)·叶l翁〈游园不倹{)(j)
192Q即以其Z道,q治其h之n。(?hu)h熏V中庸·十三章注》)(j)
193Q等闲识得东风面Q万紫千UL春。(?hu)h熏V春日》)(j)
194Q问渠哪得清如许Qؓ(f)有源头活水来。(?hu)h熏V观书有感)(j)Q?br />195Q绿杨烟外晓寒轻Q红杏枝头春意闹。(?hu)·?hu)《玉楼春》)(j)
196Q近水楼台先得月Q向阌木易为春。(?hu)·俞文v《清夜录》)(j)
197Q梅逊雪三分白,雪却输梅一D香。(?hu)h臣《雪梅》)(j)
198Q莫{闲Q白?jin)少q头Q空(zhn)切。(?hu)·岳飞《满江红》)(j)
199Q三十功名尘?sh)土八千里\云和月。(?hu)岳飞《满江红》)(j)
200Q暖风熏得游人醉Q直把杭州作汴州。(?hu)h林《西湖》)(j)
201Q地也,你不分好歹何为地Q天也,你错勘贤愚枉做天Q(元·关汉卿《窦娥冤》)(j)
202Q着意栽p不发Q等闲插x(chng)成阴。(元·关汉卿《包待制智斩鲁斋郎》)(j)
203Q只要功夫深Q铁늣成针。(元¯韶《日记故事》)(j)
204Q男儿有泪不dQ只因未C?j)处。(元h开先《宝剑记》)(j)
205Q花落水红Q用愁万U,无语怨东风。(元L(fng)实甫〈西厢记〉)(j)
206Q\遥知马力Q日久见人心(j)。(元h名氏《争报恩》)(j)
207Q不是一番寒彻骨Q怎得梅花扑E香。(元·高明《琵琶记》)(j)
208Q从来好事天生PQ自古瓜儿苦后甜。(元L(fng)朴《喜来春》)(j)
209Q不要h夸好颜色Q只留清气满乑֝。(元L(fng)冕《题墨梅》)(j)
210Q一a既出Q驷马难q。(元h寿卿〈伍员吹萧〉)(j)
211Q养军千日,用军一时。(元·马致远Q汉宫秋W二折)(j)Q?br />212Q良辰美景奈何天Q赏?j)乐事谁安。(明h昄〈牡丹亭》)(j)
213Q金玉其外,败Q其中。(明·刘基《卖柑者言》)(j)
214Q墙上芦苇,头重脚轻根底;山间竹笋Q嘴皮厚腹中空。(明¯~对联)(j)
215Q风壎ͼ雨声Q读书声Q声声入耻I家事Q国事,天下事,事事兛_(j)。(明·顾宪成·东林书院门前对联Q?br />216Q将在谋而不在勇Q兵在精而不在多。(明·冯梦龙Q古今小说》)(j)
217Qh逢喜事精爽Q月CU分外明。(明·冯梦龙Q古今小说》)(j)
218Q冤家宜解不宜结Q各自回头看后头。(明·冯梦龙《古今小说》)(j)
219Q踏破铁鞋无觅处Q得来全不费工夫。(明·冯梦龙《警世通言》)(j)
220Q命里有时终LQ命里无时莫强求。(明·兰늬W生《金瓶梅》)(j)
221Q各扫门前雪Q休他人瓦上霜。(《事林广记》)(j)
222Q长江后推前浪Q一代新人换旧h。(《增q昔时贤文》)(j)
223Q情随境变,字逐情生。(明¯宏道《叙修诗》)(j)
224Q粉w碎骨浑不怕,要留清白在h间。(明·于谦《石灰吟》)(j)
225Q一q三癑օ十日Q都是横戈马上行。(明hl光Q马上作Q)(j)
226Q尝冷D螃蟹Q看你横行得几时Q(明代民歌Q京师hZ嵩语Q)(j)
227Q滚滚长江东逝水Q浪花淘英雄。是非成败{头空Q青׃旧在Q几度夕阳红。(|诏中《三国演义·卷首词》)(j)
228Q破屋更遭连夜雨Q漏船又遇打头风。(施耐庵《水传》)(j)
229Q画龙画虎难画骨Q知人知面不知心(j)。(施耐庵《水传》)(j)
230Q有~千里来怼(x)Q无~对面不盔R。(施耐庵《水传》)(j)
231Q山高自有客行\Q水p有渡船h。(吴承恩(西游讎ͼ(j)Q?br />232Q一叶Q萍归大vQh生何处不盔R。(吴承恩(西游讎ͼ(j)Q?br />233Q道高(sh),高?sh)丈。(吴承恩(西游讎ͼ(j)Q?br />234Q智者不必仁Q而仁者则必智。(蒲松龄《聊斋志异》)(j)
235Q千万击还坚劲QQ?dng)东西南北风。(清·郑板桥《竹矟뀋)(j)
236Q隔靴搔痒赞何益Qh木三分骂亦精。(清郑板桥对联Q?br />237Q世事洞明皆学问Qh情练辑֍文章。(曚w芏V红楼梦》)(j)
238Q假作真时真亦假Q无为有处有q无。(曚w芹(U楼梦)(j)Q?br />239Q天下兴亡,匹夫有责。(清顾炎武《日知录》)(j)
240Q品d韵Q论诗重性情。(清¯枚(品画Q)(j)
241Q落U不是无情物Q化作春泥更护花。(清龚自珍Q己亥杂诗)(j)Q?br />242Q我劝天公重抖擞Q不拘(sh)格降人才。(清龚自珍《己亥杂诗》?br />243Q我自横刀向天W,ȝ肝胆两昆仑。(清K嗣同《狱中题壁?br />244Q一腔热血勤珍重,z去犹能化碧涛。(清L(fng)瑾(寚wQ)(j)
245Q拼得十万头颅血Q须把乾坤力转回。(清L(fng)瑾(黄v舟日人烦(ch)句ƈ见日俄战?sh)地图?j)Q?br />246Q江׃有才人出Q各领风?d)数癑ֹ。(清¯n|Q)(j)
247Q一p成千古恨Q再回头已百qn。(清魏子安Q花月痕Q)(j)
248Q鲁q名句:(x)
寄意寒星荃不察,我以我血荐轩辕。(《自题小像?br />横眉冷对千夫指,俯首甘(sh)ؓ(f)孺子牛。(《自嘌Ӏ)(j)
?j)事?f)q广宇,于无声处听惊雗(《无题》)(j)
249Q毛泽东诗词名句Q?br />U军不伯q征难,万水千山只等闌Ӏ(《七律·长征》)(j)
中华儿女多奇志,不爱U妆爱武装。(《ؓ(f)x(chng)兵题照》)(j)
天若有情天亦老,人间正道是桑。(《七律·h民解攑ֆ占领南京》)(j)
为有牺牲多壮志,敢教日月换新天。(《七律·到韶山》)(j)?br />一万年太久Q只争朝夕。(《满江红·和郭沫若同志》)(j)
牢骚(d)太盛防肠断,风物长宜攄量。(《七律·和柳亚子先生》)(j)
U雨随心(j)M,青山着意化为桥。(《七律·送瘟》)(j)


]]>
?sh)子商务使用数据加密来保护数据?Q二Q?/title><link>http://m.tkk7.com/jelver/articles/88145.html</link><dc:creator>都市(jng)淘沙?/dc:creator><author>都市(jng)淘沙?/author><pubDate>Sat, 16 Dec 2006 04:07:00 GMT</pubDate><guid>http://m.tkk7.com/jelver/articles/88145.html</guid><wfw:comment>http://m.tkk7.com/jelver/comments/88145.html</wfw:comment><comments>http://m.tkk7.com/jelver/articles/88145.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/jelver/comments/commentRss/88145.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/jelver/services/trackbacks/88145.html</trackback:ping><description><![CDATA[ <font color="#333333"> <font face="?hu)?> <strong>?sh)子商务使用数据加密来保护数据库?tng)Q二Q?br /></strong>上篇讲解?jin)一些理Z的内容,q次我们详细介绍一下例子:(x)<br /><br />例如Q我们创Z个类DESUtil.java<br /><br />按照上次讲的Q我要首先要创徏一个密钥,所以先增加一个方法,用来创徏DES密钥。ؓ(f)?jin)用方便,我们暂时把所有的Ҏ(gu)写成?rn)态方法?br />//filename是要保存的文件\?br />public (tng)static (tng)void (tng)createKey(String (tng)filename) (tng)throws (tng)Exception{<br />//生成一个可信Q的随机数?br />SecureRandom (tng)sr (tng)= (tng)new (tng)SecureRandom();<br />//为我们选择的DES法生成一个KeyGenerator对象<br />KeyGenerator (tng)kg (tng)= (tng)KeyGenerator.getInstance("DES");<br />kg.init(sr);<br />//生成密钥<br />Key (tng)key (tng)= (tng)kg.generateKey();<br />//密钥数据保存(sh)ؓ(f)文g供以后?br />writeFile(key,filename); //E候讲?br />}<br /><br />好了(jin)Q我们可以通过上面的方法生成密钥了(jin)?br />因ؓ(f)我们可能?x)在不同的地方调用加密或者解密的Ҏ(gu)Q所以我们必L生成密钥的存储在一个文件中Q推荐存储到应用?WEB-INF/的某个目录下Q因为那个目录只pqE序调用Q不能通过URL讉KQ所以更安全。接下来我们要写两个Ҏ(gu)Q一个将密钥存储到文Ӟ另一个则是在加密或者解密的Ҏ(gu)中读出密钥进行加密或者解密?br /><br />//filename是密钥存储的路径Qmsg是我们用W一个方法生成的密钥<br />public (tng)static (tng)void (tng)writeFile(Key (tng)msg, (tng)String (tng)filePath) (tng){<br />try (tng){<br />File (tng)file (tng)= (tng)new (tng)File(filePath);<br />if (tng)(file.exists()) (tng){<br />file.delete();<br />}<br />FileOutputStream (tng)wf (tng)= (tng)new (tng)FileOutputStream(file);<br />ObjectOutputStream (tng)out (tng)= (tng)new (tng)ObjectOutputStream(wf);<br />out.writeObject(msg);<br />out.close();<br />file (tng)= (tng)null;<br />wf (tng)= (tng)null;<br />} (tng)catch (tng)(IOException (tng)e) (tng){<br />debug(e.getMessage());<br />}<br />}<br />//filename是密钥存储的路径<br />public (tng)static (tng)Key (tng)readFile(String (tng)filePath) (tng){<br />Key (tng)key (tng)= (tng)null;<br />try (tng){<br />File (tng)f (tng)= (tng)new (tng)File(filePath);<br />if (tng)(f.exists()) (tng){<br />FileInputStream (tng)bw (tng)= (tng)new (tng)FileInputStream(f);<br />ObjectInputStream (tng)in (tng)= (tng)new (tng)ObjectInputStream(bw);<br />key (tng)= (tng)(Key)in.readObject();<br />in.close();<br />bw (tng)= (tng)null;<br />}<br />f (tng)= (tng)null;<br />} (tng)catch (tng)(Exception (tng)e) (tng){<br />debug(e.getMessage());<br />}<br />return (tng)key;<br />}<br /><br />q里我们直接把密钥对象整个存C(jin)文g中,当然也可以用字节的方式存储,但是中间可以?x)有些小ȝ?ch)?<br /><br />好了(jin)Q现在密钥的问题?sh)解决?jin)Q我们接下来的工作就是写加密和解决的Ҏ(gu)?jin)?br /><br />//str (tng)要加密的字节数组<br />public (tng)static (tng)byte[] (tng)DataEncrypt(byte[] (tng)str,String (tng)filename) (tng)throws (tng)Exception{<br />//<br />SecretKey (tng)key (tng)= (tng)(SecretKey)readFile(filename);<br />//Cipher对象实际完成加密操作<br />Cipher (tng)cipher (tng)= (tng)Cipher.getInstance("DES");<br />//用密钥初始化Cipher对象<br />cipher.init(Cipher.ENCRYPT_MODE, (tng)key);<br />//执行加密操作<br />byte[] (tng)encryptedData (tng)= (tng)cipher.doFinal(str);<br />//<br />return (tng)encryptedData;<br />}<br />//str (tng)要解密的字节数组<br />public (tng)static (tng)byte[] (tng)DataDecrypt(byte[] (tng)str,String (tng)filename) (tng)throws (tng)Exception{<br />//<br />SecretKey (tng)key (tng)= (tng)(SecretKey)readFile(filename);<br />//Cipher对象实际完成加密操作<br />Cipher (tng)cipher (tng)= (tng)Cipher.getInstance("DES");<br />//用密钥初始化Cipher对象<br />cipher.init(Cipher.DECRYPT_MODE, (tng)key);<br />//执行加密操作<br />byte[] (tng)encryptedData (tng)= (tng)cipher.doFinal(str);<br />//<br />return (tng)encryptedData;<br />}<br /><br /><br />单吧Q我们已l成功的创徏?jin)DES加密Q解密的cM(jin)。测试一下吧Q?br /><br />public (tng)static (tng)void (tng)main(String[] (tng)args) (tng){<br />String (tng)filename (tng)= (tng)"c:/des.key";<br />String (tng)str (tng)= (tng)"0109103746028";<br />System.out.print("source="+str);<br />try (tng){ <br />DESUtil.createKey(filename);<br />//<br />byte[] (tng)enstr (tng)= (tng)DESUtil.DataEncrypt(str.getBytes(),filename);<br />str (tng)= (tng)new (tng)String(enstr);//加密后的字串<br />System.out.print("encrypt=" (tng)+ (tng)str);<br />//<br />byte[] (tng)destr (tng)= (tng)DESUtil.DataDecrypt(str.getBytes(),filename);<br />str (tng)= (tng)new (tng)String(destr);//解密后的字串<br />System.out.print("decrypt=" (tng)+ (tng)str);<br />} (tng)catch (tng)(Exception (tng)e) (tng){<br />e.printStackTrace();<br />}<br />debug("ok");<br />}<br /><br />如果没有定错的话Q一定报错了(jin)Q?tng)javax.crypto.BadPaddingException: (tng)Given (tng)final (tng)block (tng)not (tng)properly (tng)padded<br />怎么回事Q都是按照你的写的,怎么?x)不对呢Q仔l分析一下,不难发现Q该异常是在解密的时候抛出的Q加密的Ҏ(gu)没有问题?br /><br />但是两个Ҏ(gu)的唯一差别是Cipher对象的模式不一Pq就排除?jin)程序写错的可能性。再看一下异常的揭示信息Q大概的意思是Q提供的字块不符合填补的。什么意思?Q?原来在用DES加密的时候,最后一位长度不?4的,它会(x)自动填补?4Q那么在我们q行字节数组到字串的转化q程中,可以把它填补的不可见字符改变?sh)(jin),所以引发系l抛出异常。问题找刎ͼ怎么解决呢?大家q记得邮件传输通常?x)把一些信息编码保存,对了(jin)Q就是Base64Q那样保证了(jin)信息的完整性,所以我们就是利用一下下?jin)。ؓ(f)?jin)方便用,我们再写一个新的方法封装一下原来的Ҏ(gu)Q?br />//<br />public (tng)static (tng)String (tng)DataEncrypt(String (tng)str){<br />String (tng)encrypt (tng)= (tng)null;<br />try{<br />byte[] (tng)ret (tng)= (tng)DataEncrypt(str.getBytes("UTF-8"),filename);<br />encrypt (tng)= (tng)new (tng)String(Base64.encode(ret),"UTF-8");<br />}catch(Exception (tng)e){<br />System.out.print(e);<br />encrypt (tng)= (tng)str;<br />}<br />return (tng)encrypt;<br />}<br />//<br />public (tng)static (tng)String (tng)DataDecrypt(String (tng)str){<br />String (tng)decrypt (tng)= (tng)null;<br />try{<br />byte[] (tng)ret (tng)= (tng) (tng)DataDecrypt(Base64.decode(str.getBytes("UTF-8")),filename);<br />decrypt (tng)= (tng) (tng)new (tng)String(ret,"UTF-8");<br />}catch(Exception (tng)e){<br />System.out.print(e);<br />decrypt (tng)= (tng)str;<br />}<br />return (tng)decrypt;<br />}<br /><br />我们把方法的参数Ҏ(gu)?jin)字Ԍ但是Z么要用UTF-8呢?不指定它的字节格式不行吗Q大家知道,UTF-8是国际通用的字W编码,用它传输M字串都不?x)有问题Q通过它也可以很完的解决J2EE的中文问题!所以我们最好用UTF-8~码Q以减少不必要的ȝ(ch)?br /><br />注意Q上面方法中当加密或者解密过E中Q程序抛出异常,返回原|使得在调用方法失败时更方便的扑և错误?br /><br />大家也可以利用其它的密钥Q进行不同地方的加密解埽?<br /><br />ȝQDES是一个相Ҏ(gu)较老的加密法Q对于现在也不是最安全的,所以大家也可以利用别的加密法q行加密解密Q以得到更安全的pȝ?br /><br />附:(x)</font> </font> <a > <font face="?hu)?>DESUtil.java?qing)Base64.java的源文g</font> </a> <br /> <img src ="http://m.tkk7.com/jelver/aggbug/88145.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/jelver/" target="_blank">都市(jng)淘沙?/a> 2006-12-16 12:07 <a href="http://m.tkk7.com/jelver/articles/88145.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>?sh)子商务使用数据加密来保护数据?http://m.tkk7.com/jelver/articles/88136.html都市(jng)淘沙?/dc:creator>都市(jng)淘沙?/author>Sat, 16 Dec 2006 03:55:00 GMThttp://m.tkk7.com/jelver/articles/88136.htmlhttp://m.tkk7.com/jelver/comments/88136.htmlhttp://m.tkk7.com/jelver/articles/88136.html#Feedback0http://m.tkk7.com/jelver/comments/commentRss/88136.htmlhttp://m.tkk7.com/jelver/services/trackbacks/88136.html ??sh)子商务使用数据加密来保护数据?/a>
  摘?tng)要Q本文首先分析了(jin)数据库数据需要加密的原因Q简要介l了(jin)DES法?qing)Java密码体系和Java密码扩展Q最后说明了(jin)利用DES加密法保护数据库数据的Ҏ(gu)?qing)步骤?br />
  关键词?tng)?sh)子商务?tng)Java (tng)加密 (tng)DES法

  Java语言是一U非帔R用于网l编E的语言Q它的基本结构与C++极ؓ(f)怼Q但抛弃?jin)C/C++中指针等内容Q同时它吸收?jin)Smalltalk、C++面向对象的编E思想。它h单性、鲁性、可UL性、动态性等特点。这些特点得Java成ؓ(f)跨^台应用开发的一U规范,在世界范围内q泛传?br />
  数据库数据需要加密的原因

 (tng) (tng) (tng) (tng)?sh)子商务|站中,数据库的信息臛_重要Q尤其现在货物的实时交易Q得一些比较重要的信息不得不存储在数据库或者其它容易泄露或者不安全的地方(当然Q也没有l对安全的)(j)Q例如数字商品信息、银行卡账号{,一旦诸如黑客一般的|络高手成功入R到我们的pȝQ如果我们的数据库信息没有加密,那么我们所有的东西便拱手相送了(jin)Q这不仅危害?jin)商L(fng)利益Q更使得客户遭受损失Q进一步也?x)?jing)响中国电(sh)子商务的里程Q所以数据库中一些重要信息的加密起到的很重要的作用?br /> 
  Java密码体系和Java密码扩展

  Java密码体系(JCA)和Java密码扩展(JCE)的设计目的是为Java提供与实现无关的加密函数API。它们都用factoryҎ(gu)来创建类的例E,然后把实际的加密函数委托l提供者指定的底层引擎,引擎中ؓ(f)cL供了(jin)服务提供者接口在Java中实现数据的加密/解密Q是使用其内|的JCE(Java加密扩展)来实现的。Java开发工具集1.1为实现包括数字签名和信息摘要在内的加密功能,推出?jin)一U基于供应商的新型灵zd用编E接口。Java密码体系l构支持供应商的互操?同时支持g和Y件实现?br />
  Java密码学结构设计遵循两个原?

  (1)法的独立性和可靠性?br />
  (2)实现的独立性和怺作用性?br />
  法的独立性是通过定义密码服务cL获得。用户只需?jin)解密码法的概?而不用去兛_(j)如何实现q些概念。实现的独立性和怺作用性通过密码服务提供器来实现。密码服务提供器是实C个或多个密码服务的一个或多个E序包。Y件开发商Ҏ(gu)一定接?各U算法实现后,打包成一个提供器,用户可以安装不同的提供器。安装和配置提供?可将包含提供器的ZIP和JAR文g攑֜CLASSPATH?再编辑Java安全属性文件来讄定义一个提供器。Javaq行环境Sun版本? (tng)提供一个缺省的提供器Sun?br />
  下面介绍DES法?qing)如何利用DES法加密和解密类文g的步骤?br />
  DES法?br />
  DESQData (tng)Encryption (tng)StandardQ是发明最早的最q泛使用的分l对U加密算法。DES法的入口参数有三个QKey、Data、Mode。其中Key?个字节共64位,是DES法的工作密钥;Data也ؓ(f)8个字?4位,是要被加密或被解密的数据QMode为DES的工作方式,有两U:(x)加密或解密?br />
  DES法工作程如下Q若Mode为加密模式,则利用Key (tng)Ҏ(gu)据Dataq行加密Q?tng)生成Data的密码Ş式(64位)(j)作ؓ(f)DES的输出结果;如Mode密模式,则利用Key对密码Ş式的数据Dataq行解密Q还原ؓ(f)Data的明码Ş式(64位)(j)作ؓ(f)DES的输出结果。在写入和读取的时候,使用一致的KeyQ在写入时KeyҎ(gu)?j)数据进行DES加密Q然后存储在数据库中Q数据要从数据库取出Ӟ用同L(fng)Key对密码数据进行解密,便再C(jin)明码形式的核?j)数据。这P便保证了(jin)核心(j)数据在数据库存储的安全性和可靠性?br />
 (tng) (tng) (tng) (tng)利用DES法加密的步?br />
  Q?Q生成一个安全密钥。在加密或解密Q何数据之前需要有一个密钥。密钥是随同被加密的应用E序一起发布的一D|据,密钥代码如下所C?br />
  【生成一个密钥代码?br /> (tng) (tng) (tng) (tng)// (tng)生成一个可信Q的随机数?br /> (tng) (tng) (tng) (tng)SecureRandom (tng)sr (tng)= (tng)new (tng)SecureRandom();
 (tng) (tng) (tng) (tng)// (tng)为我们选择的DES法生成一个KeyGenerator对象
 (tng) (tng) (tng) (tng)KeyGenerator (tng)kg (tng)= (tng)KeyGenerator.getInstance (tng)("DES" (tng));
 (tng) (tng) (tng) (tng)Kg.init (tng)(sr);
 (tng) (tng) (tng) (tng)// (tng)生成密钥
 (tng) (tng) (tng) (tng)Secret (tng)Key (tng)key (tng)= (tng)kg.generateKey();
 (tng) (tng) (tng) (tng)// (tng)密钥数据保存(sh)ؓ(f)文g供以后用,其中key (tng)FilenameZ存的文g?br /> (tng) (tng) (tng) (tng)FileUtil.writeFile (tng)(keyFilename, (tng)key.getEncoded (tng)() (tng)); (tng)

  Q?Q加密数据。得到密钥之后,接下来就可以用它加密数据。如下所C?br />
  【用密钥加密原始数据?br />
 (tng) (tng) (tng) (tng)// (tng)产生一个可信Q的随机数?br /> (tng) (tng) (tng) (tng)SecureRandom (tng)sr (tng)= (tng)new (tng)SecureRandom();
 (tng) (tng) (tng) (tng)//从密钥文件key (tng)Filename中得到密钥数?br /> (tng) (tng) (tng) (tng)Byte (tng)rawKeyData (tng)[] (tng)= (tng)FileUtil.readFile (tng)(key (tng)Filename);
 (tng) (tng) (tng) (tng)// (tng)从原始密钥数据创建DESKeySpec对象
 (tng) (tng) (tng) (tng)DESKeySpec (tng)dks (tng)= (tng)new (tng)DESKeySpec (tng)(rawKeyData);
 (tng) (tng) (tng) (tng)// (tng)创徏一个密钥工厂,然后用它把DESKeySpec转换成Secret (tng)Key对象
 (tng) (tng) (tng) (tng)SecretKeyFactory (tng)key (tng)Factory (tng)= (tng)SecretKeyFactory.getInstance("DES" (tng));
 (tng) (tng) (tng) (tng)Secret (tng)Key (tng)key (tng)= (tng)keyFactory.generateSecret( (tng)dks (tng));
 (tng) (tng) (tng) (tng)// (tng)Cipher对象实际完成加密操作
 (tng) (tng) (tng) (tng)Cipher (tng)cipher (tng)= (tng)Cipher.getInstance( (tng)"DES" (tng));
 (tng) (tng) (tng) (tng)// (tng)用密钥初始化Cipher对象
 (tng) (tng) (tng) (tng)cipher.init( (tng)Cipher.ENCRYPT_MODE, (tng)key, (tng)sr (tng));
 (tng) (tng) (tng) (tng)// (tng)获取需要加密的数据str
 (tng) (tng) (tng) (tng)Byte (tng)data (tng)[] (tng)= (tng)str.getBytes();
 (tng) (tng) (tng) (tng)// (tng)执行加密操作
 (tng) (tng) (tng) (tng)Byte (tng)encryptedClassData (tng)[] (tng)= (tng)cipher.doFinal(data (tng));
 (tng) (tng) (tng) (tng)// (tng)保存到数据库?br />
  Q?Q解密数据。操作步骤如下所C。?br />
  【用密钥解密数据?br />
 (tng) (tng) (tng) (tng)// (tng)生成一个可信Q的随机数?br /> (tng) (tng) (tng) (tng)SecureRandom (tng)sr (tng)= (tng)new (tng)SecureRandom();
 (tng) (tng) (tng) (tng)// (tng)从密钥文件中获取原始密钥数据
 (tng) (tng) (tng) (tng)Byte (tng)rawKeyData[] (tng)= (tng)Util.readFile( (tng)keyFilename (tng));
 (tng) (tng) (tng) (tng)// (tng)创徏一个DESKeySpec对象
 (tng) (tng) (tng) (tng)DESKeySpec (tng)dks (tng)= (tng)new (tng)DESKeySpec (tng)(rawKeyData);
 (tng) (tng) (tng) (tng)// (tng)创徏一个密钥工厂,然后用它把DESKeySpec对象转换成Secret (tng)Key对象 (tng)
 (tng) (tng) (tng) (tng)SecretKeyFactory (tng)key (tng)Factory (tng)= (tng)SecretKeyFactory.getInstance( (tng)"DES" (tng));
 (tng) (tng) (tng) (tng)SecretKey (tng)key (tng)= (tng)keyFactory.generateSecret( (tng)dks (tng));
 (tng) (tng) (tng) (tng)// (tng)Cipher对象实际完成解密操作
 (tng) (tng) (tng) (tng)Cipher (tng)cipher (tng)= (tng)Cipher.getInstance( (tng)"DES" (tng));
 (tng) (tng) (tng) (tng)// (tng)用密钥初始化Cipher对象
 (tng) (tng) (tng) (tng)Cipher.init( (tng)Cipher.DECRYPT_MODE, (tng)key, (tng)sr (tng));
 (tng) (tng) (tng) (tng)// (tng)从数据库中获得经q加密的数据str
 (tng) (tng) (tng) (tng)Byte (tng)encrypted (tng)Data (tng)[] (tng)= (tng)str.getBytes();
 (tng) (tng) (tng) (tng)//执行解密操作
 (tng) (tng) (tng) (tng)Byte (tng)decryptedData (tng)[] (tng)= (tng)cipher.doFinal( (tng)encryptedData (tng));
 (tng) (tng) (tng) (tng)// (tng)然后解密后的数据显C给客户。?br />

 (tng) (tng) (tng) (tng)我们需要开始在新系l里使用数据加密Q如果不是在目前的系l里使用的话。我认ؓ(f)q是很大的工程Q这也就是ؓ(f)什么我说在新系l里使用数据加密Q而不是在旧系l里加上数据加密功能。最好方法就是从那些你最怋用的数据库的提供厂商那里开始:(x)Oracle、IBM和微软。然后看看大量的W三方供应商和其他互联网安全专家能够提供什么。无Z从哪里开始,最好都是今天开始,以免让自己成为明天报U的头条新闻?/font>


]]>
վ֩ģ壺 aѼav| ŷ߹ۿ| ޾Ʒŷ߹ۿ| һѸ| Ƶվwww| ޹V߹ۿ| Ʒ鶹123| Ʒɫͼ| Ļ߹ۿ| avһ| ɫavɫ߹| ѹվ߹ۿͼ | ߹ۿѲ| ˾Ʒþ| ¶ۺƵ| ĻѾþ9һ9| Ƶһ| avƷʵ| ޹Ʒa߹ۿ| þƵ99| ߲| ձҺ| WWWƵ߹ۿ| ݺݾþѹۿ| þ޾Ʒa| һƬƵ| ҹƵ| ۺɫһС˵| aëƬþ| һҹߴ| 78˾ƷӰ߲պƷӰһ | avһվ²| ޳վ| ߾Ʒһ | պŷһѹۿ| ɫWWWַ| AVպAVվ| 97߹ۿƵ| һۿ| ߵƵѹۿ| ĻƵ|