精灵巫婆 发表于 2015-1-18 11:52:29

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开发的程序以上是我的愚见,其实不管那种语言,你学好了,都能找到好的工作,

愤怒的大鸟 发表于 2015-1-21 16:30:41

Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

活着的死人 发表于 2015-1-28 22:16:48

你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。

兰色精灵 发表于 2015-1-28 22:20:34

是一种将安全性(Security)列为第一优先考虑的语言

因胸联盟 发表于 2015-1-31 14:49:26

你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?

透明 发表于 2015-2-1 16:38:07

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

不帅 发表于 2015-2-7 04:14:18

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

再现理想 发表于 2015-2-20 13:03:30

Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。

飘灵儿 发表于 2015-3-5 06:58:21

Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。

仓酷云 发表于 2015-3-8 18:32:41

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

谁可相欹 发表于 2015-3-16 10:15:55

是一种将安全性(Security)列为第一优先考虑的语言

深爱那片海 发表于 2015-3-17 20:09:30

如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。

精灵巫婆 发表于 2015-3-19 06:34:16

J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。

莫相离 发表于 2015-3-22 19:21:39

http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。

灵魂腐蚀 发表于 2015-3-24 19:54:57

Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站

冷月葬花魂 发表于 2015-3-29 18:10:23

科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

若天明 发表于 2015-4-9 15:54:43

是一种语言,用以产生「小应用程序(Applet(s))

山那边是海 发表于 2015-4-10 09:11:12

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

变相怪杰 发表于 2015-4-10 16:30:32

是一种突破用户端机器环境和CPU

小魔女 发表于 2015-4-22 21:05:40

我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
页: [1] 2
查看完整版本: JAVA网站制作之DES 加解密的封装和 利用的例子