基于Java语言的手机软件开发技术分析

2014-10-21 19:57莫前玲
计算机光盘软件与应用 2014年24期
关键词:Java语言手机软件软件设计

莫前玲

摘 要:随着智能手机的高速发展,手机软件开发成为了当下热门行业。本文以Java语言为基础,通过分析Java语言的概述及手机软件应用程序及架构,简要叙述基于Java语言下手机软件开发技术,最后以基于Java语言对手机加密软件开发实例进行探讨和分析,提高对Java语言在手机软件开发技术更加直观的了解,对于基于Java语言开发手机软件具有借鉴和参考价值。

关键词:Java语言;手机软件;Android操作系统;软件设计;开发技术

中图分类号:TP311.52

1 Java语言概述

其内涵和实质是面向网络程序设计的设计的语言,是程序员的在创建应用程序时必备的工具,并且这些应用程序在设计之后,能够被下载和普遍、稳定、安全运用,Java语言是面向对象的语言,内部软件能够通过部件的形式进行编程,而为了满足软件内部的协调和各种需求,软件内部是相互协调的。

2 基于Java语言设计手机短信加密软件实证分析

现代信息时代,对于信息的保护观念和意识不断增强,但是由于手机软件的开放性,信息安全问题一直是人们关心的问题,本章主要通过在基于Java语言下,利用数据加密算法DES,对手机短信进行加密,揭示Java语言在手机软件开发中的具体技术利用。

2.1 利用的平台和技术

(1)Android 系统

Android系统是美国谷歌公司在2007年推出的,依靠其强大的性能和开放性特点,瞬间成为了移动设备操作系统的佼佼者,从Android系统的架构上看,主要包括五个部分:Linux Kernel、Android Runtime 、Libraries、Application Framework和Applications。这五个部分构成了Android系统的整个系统,其Eclipse 开发平台就是基于Java语言的扩展和开发平台,许多情况下Eclipse就作为Java集成开发环境下使用,但是其用途不仅仅局限在Java语言的开发中,是Java开发工具的延伸。

(2)DES加密算法

DES算法是1977年美国国家标准局采用的数据加密标准,主要是利用循环和迭代将简单的运算转变为非线性变换实现对于数据的加密和保护。在56位密钥和64位二进制信息加密成64位密文信息。其主要有三个具体的流程:首先,出事置换IP,将明文按照一定的逻辑和顺序进行顺序打乱;其次,乘积交换,进行16轮迭代;最后,逆初始置换IP,按照固定表顺序打乱,最终输出64位信息,此64位信息就是加密信息,从而完成整个明文信息的加密过程。由于DES寻在密钥位数和迭代数问题,导致DES存在明显的缺陷,而在实际操作过程中,3DES被普遍使用,其中包含了四中模式,分别是DES-EEE3;DES-EDE3;DES-EEE2;DES-EDE2四种使用模式,在操作过程中,手机短信的字符数较少,一般采用3DES加密处理。

2.2 基于Java语言的手机加密软件开发

(1)3DES加密与解密

设Ek( )和Dk( )代表DES算法的加密和解密过程,K代表DES算法,使用的密钥P代表明文,C代表密表。

3DES加密过程为:C=Ek3(Dk2(Ek1(P)))

3DES解密过程为:P=Dk1((EK2(Dk3(C)

public static byte[] desEncrypt(String message, String key) throws Exception { Cipher cipher = Cipher.getInstance("DESede"); DESKeySpec desKeySpec = new DESKeySpec(key.getBytes("UTF-8")); SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DESede"); SecretKey secretKey = keyFactory.generateSecret(desKeySpec); cipher.init(Cipher.ENCRYPT_MODE, secretKey);

return cipher.doFinal(message.getBytes("UTF-8"));

在整个设计过程中,进行对比其他平台对接发现对于同样的加密结果却现实不同,所以针对这样的情况,对于JDK文件进行了检查,发现JDK文件现实如下:

A transformation is a string that describes the operation (or set of operations) to be performed on the given input, to produce some output.

A transformation is of the form:

·"algorithm/mode/padding" or ·"algorithm"

(in the latter case, provider-specific default values for the mode and padding scheme are used).

在结合之前我们所选择的代码,编写的算法是不存在问题的,那导致加密结果不同的原因在哪?针对此,主要原因出现在MODE和padding。所以在使用JAVA语言编码时,一定要主义采用相同的MODE和padding,只有这样才能够保证通信的正常使用。

2.2 Java语言手机加密软件开发实现

在基于Java语言下利用DES加密算法实现手机信息加密软件的开发,在这个过程中,利用虚拟手机平台,进行加解密程序编写,模拟和实现加解密程序的运行效果,从而达到测试和使用加解密软件。

(1)将手机连接到电脑中,在安卓虚拟平台下,对于加解密软件进行编程,为了更好的实现手机信息加密软件;

(2)打开手机信息,进入到手机的短信收发界面;

(3)在手机中运行J2ME MIDlet程序,点击手机的消息的便捷界面,从而进行手机信息的编写,编写完成之后,选择相应的联系人,从而完成整个短信内容的编写过程;

(4)进入目标手机的接收界面,对于刚刚编写的接收信息进行编辑,从而达到解密的目的,解密完成后,此次加解密操作就算完成了。

2.3 手机加密软件开发的难点

加解密软件利用的是JDK1.5,此次的实验主要是针对Android手机开发的应用软件,所以适用性上仅仅适用于安卓手机用户,不能够移植到其他系统中,特别是苹果IOS操作系统中,在实际的软件开发过程中,DES加密密钥在Java库函数中是随机产生的,所以在操作的过程中,用户没有输入相应的密钥操作,和普通手机发短信没有表面的区别。其中难点在于软件必须通信双方共同是同才能够正常的实现短信的收发功能,如果一方未安装加密软件,则加密软件就不能发挥相应的作用。

3 结束语

移动电子设备已经成为了人们生产、生活必不可少的重要工具,伴随着技术的不断革新和发展,手机的功能越来越强大,在带给人们便利的背后,离不开对于手机软件开发的创新和探索。近年来,对于手机软件的需求和要求不断提高,不仅需要新颖的软件和应用程序,更需要稳定、安全、便捷的操作体验,所以在Java语言编程下的手机软件需要在发展和创新的过程中不断积累经验,提高软件的安全性、稳定性和适用性,从而推动手机的发展。

参考文献:

[1]杨治.手机软件交互设计研究[D].哈尔滨工程大学,2013.

[2]韩路,高贤强.基于Android系统的手机软件开发研究[J].電子技术与软件工程,2014(03):60-61.

[3]周锐棠.阐述Java语言在手机中的结合运用[J].数字技术与应用,2010(11):204.

猜你喜欢
Java语言手机软件软件设计
告诉你猫开不开心的手机软件
心血管病患者服药提醒手机软件的设计与应用
业务员手机软件如何用 更能提升效率