JAVA网站制作之DES 加解密的封装和 利用的例子
Java的桌面程序开发在java程序员里通常叫swing开发,主要用的swing包里的类开发的,也就是通常说的c/s架构开发封装|解密原创:zhouxianli1978@msn.com,接待喜好Java的网友加我
DES加密封装
packageorg.jtool.desutils;importjava.security.SecureRandom;importjavax.crypto.*;importjavax.crypto.spec.DESKeySpec;publicclassDESEncrypt{privatebyte[]desKey;publicDESEncrypt(byte[]desKey){this.desKey=desKey;}publicbyte[]doEncrypt(byte[]plainText)throwsException{//DES算法请求有一个可托任的随机数源SecureRandomsr=newSecureRandom();byterawKeyData[]=desKey;/*用某种办法取得密匙数据*///从原始密匙数据创立DESKeySpec对象DESKeySpecdks=newDESKeySpec(rawKeyData);//创立一个密匙工场,然后用它把DESKeySpec转换成//一个SecretKey对象SecretKeyFactorykeyFactory=SecretKeyFactory.getInstance("DES");SecretKeykey=keyFactory.generateSecret(dks);//Cipher对象实践完成加密操纵Ciphercipher=Cipher.getInstance("DES");//用密匙初始化Cipher对象cipher.init(Cipher.ENCRYPT_MODE,key,sr);//如今,猎取数据并加密bytedata[]=plainText;/*用某种办法猎取数据*///正式实行加密操纵byteencryptedData[]=cipher.doFinal(data);returnencryptedData;}}
DES解密封装
packageorg.jtool.desutils;importjava.security.SecureRandom;importjavax.crypto.*;importjavax.crypto.spec.DESKeySpec;publicclassDESDecrypt{privatebyte[]desKey;publicDESDecrypt(byte[]desKey){this.desKey=desKey;}publicbyte[]doDecrypt(byte[]encryptText)throwsException{//DES算法请求有一个可托任的随机数源SecureRandomsr=newSecureRandom();byterawKeyData[]=desKey;/*用某种办法猎取原始密匙数据*///从原始密匙数据创立一个DESKeySpec对象DESKeySpecdks=newDESKeySpec(rawKeyData);//创立一个密匙工场,然后用它把DESKeySpec对象转换成//一个SecretKey对象SecretKeyFactorykeyFactory=SecretKeyFactory.getInstance("DES");SecretKeykey=keyFactory.generateSecret(dks);//Cipher对象实践完成解密操纵Ciphercipher=Cipher.getInstance("DES");//用密匙初始化Cipher对象cipher.init(Cipher.DECRYPT_MODE,key,sr);//如今,猎取数据并解密byteencryptedData[]=encryptText;/*取得经由加密的数据*///正式实行解密操纵bytedecryptedData[]=cipher.doFinal(encryptedData);returndecryptedData;}}
DES加解密利用样例
packageorg.jtool.desutils;/****/publicclassDESTest{publicstaticvoidmain(String[]args)throwsException{Stringkey="ABCDEFGH";Stringvalue="AABBCCDDEE";DESEncryptdesEncrypt=newDESEncrypt(key.getBytes());byte[]encryptText=desEncrypt.doEncrypt(value.getBytes());System.out.println("doEncrypt-"+toHexString(encryptText));System.out.println("doEncrypt-"+newString(encryptText));DESDecryptdesDecrypt=newDESDecrypt(key.getBytes());byte[]decryptText=desDecrypt.doDecrypt(encryptText);System.out.println("doDecrypt-"+newString(decryptText));System.out.println("doDecrypt-"+toHexString(decryptText));}/***16进制显现数据**@paramvalue字节数组*@return*/publicstaticStringtoHexString(byte[]value){StringnewString="";for(inti=0;i<value.length;i++){byteb=value;Stringstr=Integer.toHexString(b);if(str.length()>2){str=str.substring(str.length()-2);}if(str.length()<2){str="0"+str;}newString+=str;}returnnewString.toUpperCase();}}
C#是不行的,比如说美国的航天飞船里就有java开发的程序以上是我的愚见,其实不管那种语言,你学好了,都能找到好的工作, Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 是一种将安全性(Security)列为第一优先考虑的语言 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 是一种将安全性(Security)列为第一优先考虑的语言 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 是一种语言,用以产生「小应用程序(Applet(s)) 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 是一种突破用户端机器环境和CPU 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
页:
[1]
2