Java软件的加密方法及应用探讨.docx

上传人:h**** 文档编号:1353025 上传时间:2019-02-11 格式:DOCX 页数:3 大小:18.63KB
下载 相关 举报
Java软件的加密方法及应用探讨.docx_第1页
第1页 / 共3页
Java软件的加密方法及应用探讨.docx_第2页
第2页 / 共3页
Java软件的加密方法及应用探讨.docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、Java软件的加密方法及应用探讨 摘要:随着 Java 技术的广泛应用和发展,对于 Java 应用程序的安全问题逐步得到重视,相关安全技术也逐步改进中。文章主要探讨了 Java 软件的加密方法及应用,以供参考。 下载 关键词: Java 软件 ;加密 ;方法 中图分类号: TP311.52 文献识别码: A 文章编号: 1001-828X( 2016)005-000-01 Java 的安全性都是借助手动安装安全管理器执行安全措施,并非自动运行。而安全措施都是都是依赖于代码的来源进行授权,根据代码来源设定相应的资源访问权限,有助于保证应用程序的安全运行。 Java 的安全性是Java 语言的重要

2、组成部分,它自身内置多种安全特性,因此要进行合理加密,方可有效保证 Java 应用程序的安全。 一、 Java 特性分析 (一)操作相对简单 Java 操作相对简单,只要具备 C 语言基础,稍加学习基本就可以掌握操作方法。而且其在设计过程中所面向的对象是数据和数据接口,可以实现即插即用,其在使用过程中采用类机制,为系统提供一类对象的原型,在继承以及承载机制的支持下可以对父类进行重新定义,得到一个新的子类,这一过程中实际上就是代码复用过程。 (二)对内存进行自动管理 可以对内存进行自动管理,对于一些无用内存直接回收,开发工作因此被简化。最初所使用的垃圾回收技术显然不具备这种优势,由于占用系统过多

3、资源导致整个系统运行速度都受到影响,而 Java 对这种回收技术进行升级,定期对系统内的单元进行检查,并自动回收一些无用单元,程序的稳定性明显提升。 (三)稳定性和安全性 非法访问内存使我们在使用程序过程中会经常遇到的问题,实际上就是程序指针的出现错误,而 Java 就可以解决这一问题,因为其并不使用指针算术法,而是将真正的数组提供给程序。同时,在对象类型转换过程中,指针不会替换数组中的任意数,因此编程工作量大大减少,运行错误率降低,系统稳定性明显提升。另外, Java 设计的最终目标是为设计者提供一个可靠的计算环境,因此安全性是非常重要的,要 保证其在使用过程不受到病毒侵袭。验证技术的使用就

4、可以满足这种安全需要,该技术的基础为公钥加密,对于各类安全策略的实施具有重要意义。 (四)解释执行 如果机器已经安装解释器,其就可以发挥自身的解释功能,实现字节代码的执行,可以不必对其进行重新编译。解释器具有向上兼容的特征,就是说低版本可以在高版本环境下正常运行,但是如果将高版本放在低版本环境下运行,就有可能出现不兼容现象。同时 Java 还可以适应跨异构环境,典型特征就是可以实现一次编译、到处运行,只要系统安装 Java 虚拟机,无论主机以及处理 器为何种类型,都不会影响 Java 的运行,这也是其受到企业青睐的主要原因。使用 Java 所开发出来的系统几乎可以实现 “ 零移植 ” ,也就是

5、平时我们所说的平滑移植,只要简单修改一下配置文件即可。 二、 Java 软件的加密方法 (一) BASE BASE 是典型对称加密算法,该技术已十分成熟,属于一种属于编码格式的加密方法,是目前最为常用的加密方式,能对 Bit字节代码进行加密,能对 HTTP 环境下的信息进行标识加密,使编码数据不会被人用肉眼所直接看到。例如,在 JavaPersistence系统 Hibernate中加密方式,就是利用 Base将唯一标识符编码加密,使其无法被直接读取。 (二) MD MD 加密方法是当前最为广泛使用的杂凑算法之一,加密效果好,且对于保证传输数据的完整性有着显著效果,很多主流软件都利用了 MD

6、加密方式。MD在 JAVA中的应用能生成与软件相互对应的固定长度的 MD值,在使用中需要验证 MD值是否一致。 MD加密方式具有较强的抗修改性,并且想要伪造 MD值数据,获取原数据的 MD值也非常困难。在 JAVA中的应用,可用于大数据数字前面软件签署秘钥,非常值得推广和应用。 (三) SHA SHA 加密安全性和稳定性好,主要适用于数字签名标准里面定义的数字签名算法。该加密方式被需要加密专家研究并完善,其技术已非常成熟,被广泛应用。 SHA 是生成个位的信息摘要明文,然后在以不可逆的方式将其转为为一段密文,而想要读取数据就要取得一串输入码,进行密文的验证。并且这种加密方式中,生成的密文长度较

7、短、位数固定、管理方便,且不易破解,能大大提高软件安全性。 三、类文件加密方法分析 加密 Java 类文件可以有效防止其被反编译,保护 Java 软件的安全,经过加密以后, 文件的格式发生变化,特征也与以往有明显不同,即使对其进行反编译,所得到的原代码也是没有价值的。 JEC 属于扩展平台,其中包含着多种加密算法,而且操作简便 ;而 AES 属于一种高级加密算法,前面提到过其具有对称性的特征,加密效率很高,安全性也较好,加密系统中可以将这两种加密方式结合起来使用,提升加密的可靠性。 传统的 DES加密算法之所以被取代,是因为其只包含了 56位秘钥,随着计算机技术的提高,系统的计算能力明显增强,

8、完全可以凭借其强大的计算能力将其破解,而其本身结构又比较紧凑,一旦修改一些细节,整体性就会 被破坏。 AES加密算法就弥补了以上不足,其采用 128、 192及 256比特的秘钥,具体算法原理如下:加密秘钥在扩展算法的计算下得到轮秘钥,其总位数等于分组长度与轮数的乘积再加上 1。这种算法有一个优势就是即使扩展算法被修改,其影响的也只是与其对应部分的加密工作,其他部分并不会受到影响,不仅不会破坏整体性,算法的扩展性也大大增强。 但是加密组件的工作并不仅仅是完成类文件的加密,同时还要对加密秘钥进行二次加密,这一环节是非常有必要的,因为 AES的高安全性是建立在加密秘钥安全的前提下,秘钥中同时包含了

9、加密和 解密,一旦秘钥被窃取,之前所有工作就都失去了意义。对秘钥进行二次加密时,采用字符串变换函数的方式,按照一定的规律对其进行转换,转换以后的字符串是没有任何意义的,虽然其复杂程度不高,但是可以满足实际需要。 类文件经过筛选以后,在加密系统的作用下完成加密工作,这一过程需要筛选器提供支持,其会生成一种特定规则作为加密条件,如果其有加密的需要, AES 加密组件就会完成加密工作,如果其没有加密的需要,则原class 文件就会被保存下来。如果秘钥和密码相同,在对数据进行加密和解密时,要求密码对象采用一样的方式,将 Cipher 初始化,然后读取类文件数据,明确哪些数据是需要加密的,然后就正式开始加密工作,加密完的文件会被自动保存,将原始类文件覆盖掉。 四、结束语 综上所述, Java 语言是目前较为常用的软件开发语言,编程相对简单,软件开发周期短,成本低。但是,由于 Java语言的特点,导致 Java软件易于破解及遭受到攻击。为了保证 Java 软件安全性必须采取必要的加密措施,利用多种加密方法,对软件进行加密保护。 参考文献: 杨卓林 .基于 java 的手机短信加密技术探讨 J.科技信息, 2014( 07) . 于守良 .关于 Java 面向对象程序设计课程的思考 J.中国教育技术装备,2013( 15) .

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。