仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1439|回复: 20
打印 上一主题 下一主题

[学习教程] JAVA网站制作之DES 加解密的封装和 利用的例子

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:52:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
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[i];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)列为第一优先考虑的语言
因胸联盟 该用户已被删除
5#
发表于 2015-1-31 14:49:26 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
透明 该用户已被删除
6#
发表于 2015-2-1 16:38:07 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
不帅 该用户已被删除
7#
发表于 2015-2-7 04:14:18 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
再现理想 该用户已被删除
8#
发表于 2015-2-20 13:03:30 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
飘灵儿 该用户已被删除
9#
发表于 2015-3-5 06:58:21 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
10#
发表于 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而写的。
谁可相欹 该用户已被删除
11#
发表于 2015-3-16 10:15:55 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
深爱那片海 该用户已被删除
12#
发表于 2015-3-17 20:09:30 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
精灵巫婆 该用户已被删除
13#
 楼主| 发表于 2015-3-19 06:34:16 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
莫相离 该用户已被删除
14#
发表于 2015-3-22 19:21:39 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
灵魂腐蚀 该用户已被删除
15#
发表于 2015-3-24 19:54:57 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
冷月葬花魂 该用户已被删除
16#
发表于 2015-3-29 18:10:23 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
若天明 该用户已被删除
17#
发表于 2015-4-9 15:54:43 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
山那边是海 该用户已被删除
18#
发表于 2015-4-10 09:11:12 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
变相怪杰 该用户已被删除
19#
发表于 2015-4-10 16:30:32 | 只看该作者
是一种突破用户端机器环境和CPU
小魔女 该用户已被删除
20#
发表于 2015-4-22 21:05:40 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 02:35

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表