欢迎来到天天文库
浏览记录
ID:10987476
大小:51.50 KB
页数:3页
时间:2018-07-09
《android教学中信息防盗模块中的md5加密应用分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Android教学中信息防盗模块中的MD5加密应用分析摘要:目前,大多数的信息管理系统在设计实现过程中,都设计有用户身份验证的登录界面。现在用的较多的在线QQ聊天软件、手机微信聊天软件、各大银行银联取款软件等,程序设计模块的第一个模块就是身份验证模块,此模块对于信息管理系统中数据的私密性起到关键性的保护作用。中国8/vie 关键词:手机appMD5算法加密 中图分类号:G712文献标识码:A:1672-3791(2017)01(c)-0182-02 高等职业技术学校的专业开设与课程体系的构建与现
2、代社会发展需求密切相关。社会经济大力的发展的同时,科学技术也日新月异。智能手机也逐步走入每个家庭。基于智能手机操作系统的android程序开发也成为信息类应用技术开发专业开设的必备课程。在Android课程的教学设计、教学实现过程中,各种手机app作为教学项目走入学生课堂。像大多数以往我们所用的各种信息管理系统一样,手机APP中的信息管理系统在运行开始阶段,也加入了用户身份验证模块,信息的加密方式有很多,该文中从加密算法的原理、应用等方面分析了Andorid应用程序中MD5加密算法。 1MD5加密算
3、法 加密算法类型有多种,MD5算法属于散列算法,安全性高。它的过程是不可逆的过程。用户在界面输入的两个不同的密码值,通过MD5算法之后,不会得到相同的输出值。反之,根据输出值,也不能得到原始的数据。所以,要解密MD5是没有便捷的算法可用的,惟一的能用的方法是穷举法,即把可能出现的密码值用MD5算法散列之后,把得到的值与原始数据形成一对一的映射表,通过比对从映射表中找出对应的原始密码。 2MD5的安全性 MD5加密算法的输出为128位。由于解密过程保用穷举法,在进行大量数据的比对过程中,数据验证计
4、算量超大,因此这种方法费时费力,从而加大的密码的安全性。出于对MD5加密算法安全性的考虑,另外MD5加密算法可以免费使用,因此加密方法被广泛使用。对于职业院校中针对计算机应用专业课程开发的信息管理系统来说,MD5算法可以用在用户注册口令时的加密设计。 3MD5加密原理 MD5加密算法的实现过程从开始到输出结果分五步骤完成。 第一步先进行补位操作:如果输入的数据位数不够的话,要先进行补位操作。MD5算法要求输入的数据位长度对512求余的结果是448。 第二步是补数据长度操作:输入数据用一个64位
5、的数字表示其原始长度。再把这个数据用两个32位数表示,得到的数据将会是长度为512位的倍数。这是为了解决后续数据处理中对信息长度的要求。 第三步是初始化MD5参数操作:MD5在初始化时需要4个十六进制整数(X1,X2,X3,X4,)作为参数,初始化值是:X1=0X01234567,X2=0X89abcdef,X3=0Xfedcba98,X4=0X765432103、X4)依次保存到四个变量(x1、x2、x3、x4)中。主循环有四次,每次循环操作过程中,都要对x1、x2、x3、x4中的其中3个作一次线
6、性函数运算,然后将所得结果加上第四个变量,再将所得结果向右移一个不定的数,并加上x1、x2、x3、x4中的一个。最后计算的结果取代a、b、c或d中之一。如果x1、x2和x3的对应位是独立和均匀的,那么结果的每一位也是独立和均匀的。F是一个逐位运算的函数:如果x1,那么x2,否则x3。函数H是逐位奇偶操作符。 第五步是MD5算法中的分组数据运算过程:把MD5初始化时的四个参数X1、X2、X3、X4、分别加上x1、x2、x3、x4后的数据继续运行算法,最后的输出是由DCBA组成128位结果(其中A是低位
7、,D为高位)。 4MD5算法具体实现 手机APP程序设计的身份验证功能中,在登录按钮的setOnClickListener方法中进行密码验证中设计代码如下:(登录按钮的名字为loginbtn) Stringuser,pass; 定义变量用于获取密码框(此组件名字是passd5=MD5(pass); 加密后密码与存储密码进行比较(oldpass是存储信息中密码):if(passmd5.equals(oldpass)){//此处是密码对比成功后的代码设置} 设计MD3()方法,此方法的参数为字
8、符串变量str,方法返回的值为字符串neyDigest=MessageDigest.getInstance(“MD5”); byte[]myResult=myDigest.digest(passyString=neyB:myResult){ intnum=b&0xff; Strings=Integer.toHexString(num); if(s.length()==1){myString.append(“0”+s);} else{myStri
此文档下载收益归作者所有