苏州北大青鸟|电脑人才培训中心『官方网站』

高中生毕业了做什么?高中生学什么好 苏州北大青鸟、苏州北大青鸟学费、苏州北大青鸟地址
ACCP7.0培训-入手最快 JAVA培训—收入最高 .NET培训—就业面最宽 网络营销培训—需求量最大
高中毕业学什么好 大学生找不到工作怎么办 学什么技术有前途(好转行) 初中(中专)毕业学什么好
当前位置: 主页 > 青鸟百科 >

JAVA软件加密算法的设计及开发

时间:2012-05-11 17:45来源: 作者: 点击:
31   Misty1加密软件的设计与实现
3.11.1              工作环境介绍
本设计使用的编程语言为Java,使用Java 2 Platform Standard Edition 5.0。操作系统为Windows XP,CPU为AMP XP 2500+,内存 256M。
1.2    Java及程序编辑工具介绍
3.2.1    Java介绍
Java是1995年5月23日由Sun公司引进到我们这个世界的革命性编程语言,它被美国的著名杂志《PCMagazine》评为1995年是大优秀科技作品。之所以称Java为革命性编程语言,是因为传统的软件往往与具体的实现环境有关,一旦环境有所变化就需要对软件做一番改动,耗时耗力,而Java编写的软件能在执行码上兼容。这样,只要计算机提供了Java解释器,用Java编写的软件就能在其上运行。
Java的优点主要有以下几点:
1)Write once,run anywhere
这句话一直是Java程序员的精神指南,也是Java之所以能够受到程序设计师们喜爱的原因之一,最大原因就是JVM技术。
2)简单
纯面向对象的特性,再加上众多类库的支持,使用Java开发各式各样的应用程序,可以说是易如反掌。除此之外,无论在调试或是程序修改、增加新功能方面,因为对象的特性,使得这些维护也变得非常容易。
3)安全性
Java的很多功能都是针对安全性的问题考虑的,Java甚至可以对于不同的安全需求而Java应用程序的安全等级。原则上一个未经您允许的Java程序,是不可能伤及你的系统的。
4)Unicode
Java使用Unicode作为他的标准字符,这项特性使得Java的程序在不同语言的平台上都能编写和执行。Java也是目前所有电脑语言中,唯一天生使用Unicode的语言。
5)网络
Java可以说是借助互联网而重声的,自然对于具备网络功能程序的编写,也是非常容易的。不论是一般互联网的程序Socket、Email,还是服务器网页的程序Servlets、JSP,甚至分布式网络程序CORBA等的相关套件支持,可以说是非常丰富,使用起来也是非常容易。
6)资源回收处理
资源回收处理是由JVM协助我们的程序对内存做动态的管理,你的程序需要多少内存、那些对象的内存已经不使用了,需要归还给系统,这些烦琐且危险的工作全部交由JVM去帮我们管理,让我们能够更专心的写程序,不需要担心内存的问题,而内存的统一管理,对于跨平台也用相当的帮助。
7)异常处理
为了使Java程序更安全、更稳定,那么程序随机应变的能力就必须好。Java引入了异常处理机制,能够在程序中比较可能有异常情况发生的地方,加上相对应的处理,让程序不至于因为突发的错误,造成执行中断或是当机的情况。异常处理也让用户更恩能够控制整个程序执行的流程,也使得程序的设计更加严谨。
目前Java的主要应用在于电子商务及企业电子化部分。除此之外,Java也渐渐地在消费性电子平台上发挥它跨平台的特性,各手机厂商、PDA厂商也纷纷地发表内置JVM的系统,Java在这方面跟其他程序语言比起来,可以说是如鱼得水。
未来,除了SUN公司更加强J2EE、J2SE和J2ME中的功能外,Java还会更进一步的结合XML,把现在外挂的XML套件包含进Java标准套件中,那么对于跨平台来说将更是如虎添翼。Java的未来可以说是一片光明。
3.2.2    程序编辑工具介绍

UltraEdit是很多人爱用的文本编辑软件,它除了单纯的文本编辑外,对于一些特殊的文件,例如Java、ASP等等,都会辨别出它们的关键字或是字符串、数字等,然后用不同的颜色表示它们,让你更容易看出程序中有些什么,或是有没有什么关键字输入错了。除此之外它也可以简单地帮你做错字的更正。不过它最强的地方在于能设定一些宏(Macro),让你可以自行设计额外的特殊功能。

UltraEdit有一项执行外部指令的功能,还可以把执行结果显示出来。好处是可以把DOS模式的结果显示在一个新的文件里,这样一来再多的信息也不怕遗漏了。使用方法很简单,就到菜单栏上选择“高级”→“DOS命令”,快捷键是“F9 。在“命令”处输入在DOS模式下要输入的编译指令,在“工作目录”处选择程序所在目录。在编写程序的过程中,这个功能就显得十分方便,不用总是要到命令提示符模式下去试运行程序。

1.1  Misty1算法应用于文件加密的分析
Misty1是对称密钥加密,也是分组密码。分组密码是将明文划分为固定度的数据组,然后以组为单位进行加密,分组密码优点是不需同步。实质是,设计一种算法,能在密钥控制下,把n比特明文简单而又迅速地置换成唯一n比特密文,并且这种变换是可逆的(解密)。设计思想:“扩散”将明文及密钥的影响尽可能迅速地散布到较多个输出的密文中(将明文冗余度分散到密文中)。产生扩散的最简单方法是通过“置换” (比如:重新排列字符)。“混淆”其目的在于使作用于明文的密钥和密文之间的关系复杂化,是明文和密文之间、密文和密钥之间的统计相关特性极小化,从而使统计分析攻击不能奏效。通常的方法是“代换(Substitution)”(比如恺撒密码)。分组密码设计的要求:1、分组长度足够大(64~128比特);2、密钥量要足够大(64~128);3、算法足够复杂(包括子密钥产生算法)4、加密、解密算法简单,易软、硬件实现5、便于分析(破译是困难的,但算法却简洁清晰)。所以把Misty1应用于文件加密是可行的。
在对称密码技术中,其加密密钥和解密密钥相同。加密信息的安全性取决于密钥的安全性,与算法的安全性无关,即由密文和加解密算法不可能得到明文。换句话说算法无需保密,需保密的仅是密钥。对于带有重要信息的小型文本和二进制数据的维护,如果不加密,将无法放心的保存在计算机上,尤其是联网的或机房里的公共计算机;如果借助功能强大的大型多用户数据保护程序维护几个小型文件,显得十分烦琐,好比杀鸡用牛刀。 

所以,对于使用小型文件进行数据交换的情况,更好的方案是通过一个小型应用程序对这些文件进行对称密钥加密。为了适合前面叙述的在公共BBS与特定的某人交流重要保密信息的情况,加密生成的数据应该是文本,这样可以方便复制粘贴。


标签:

(原文标题:JAVA软件加密算法的设计及开发

(责任编辑:苏州北大青鸟



相关新闻

  • E-learning云计算机市场份额逐渐扩大
  • 基于WEB的成本管理系统的设计
  • 基于WEB的学生成绩管理系统的设计及
  • 基于WEB的汽车信息网站的设计
  • 基于WEB的信息信息发布系统的设计及
  • 基于WEB的JSP实验室管理系统的设计
  • 基于WEB的企业人事管理系统的设计
  • 基于JSP的商场进销存管理系统的设计
  • 基于JSP的网络交易市场物业管理系统
  • 基于WEB的毕业设计选题系统的设计及
    更多
    分享按钮
    ------分隔线----------------------------
    招生专题