- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android教学中信息防盗模块中的MD5加密应用分析.doc
Android教学中信息防盗模块中的MD5加密应用分析
摘 要:目前,大多数的信息管理系统在设计实现过程中,都设计有用户身份验证的登录界面。现在用的较多的在线QQ聊天软件、手机微信聊天软件、各大银行银联取款软件等,程序设计模块的第一个模块就是身份验证模块,此模块对于信息管理系统中数据的私密性起到关键性的保护作用。
中国 8/vie
关键词:手机app MD5算法 加密
中图分类号:G712 文献标识码:A :1672-3791(2017)01(c)-0182-02
高等职业技术学校的专业开设与课程体系的构建与现代社会发展需求密切相关。社会经济大力的发展的同时,科学技术也日新月异。智能手机也逐步走入每个家庭。基于智能手机操作系统的android程序开发也成为信息类应用技术开发专业开设的必备课程。在Android课程的教学设计、教学实现过程中,各种手机app作为教学项目走入学生课堂。像大多数以往我们所用的各种信息管理系统一样,手机APP中的信息管理系统在运行开始阶段,也加入了用户身份验证模块,信息的加密方式有很多,该文中从加密算法的原理、应用等方面分析了Andorid应用程序中MD5加密算法。
1 MD5加密算法
加密算法类型有多种,MD5算法属于散列算法,安全性高。它的过程是不可逆的过程。用户在界面输入的两个不同的密码值,通过MD5算法之后,不会得到相同的输出值。反之,根据输出值,也不能得到原始的数据。所以,要解密MD5是没有便捷的算法可用的,惟一的能用的方法是穷举法,即把可能出现的密码值用MD5算法散列之后,把得到的值与原始数据形成一对一的映射表,通过比对从映射表中找出对应的原始密码。
2 MD5的安全性
MD5加密算法的输出为128位。由于解密过程保用穷举法,在进行大量数据的比对过程中,数据验证计算量超大,因此这种方法费时费力,从而加大的密码的安全性。出于对MD5加密算法安全性的考虑,另外MD5加密算法可以免费使用,因此加密方法被广泛使用。对于职业院校中针对计算机应用专业课程开发的信息管理系统来说,MD5算法可以用在用户注册口令时的加密设计。
3 MD5加密原理
MD5加密算法的实现过程从开始到输出结果分五步骤完成。
第一步先进行补位操作:如果输入的数据位数不够的话,要先进行补位操作。MD5算法要求输入的数据位长度对512求余的结果是448。
第二步是补数据长度操作:输入数据用一个64位的数字表示其原始长度。再把这个数据用两个32位数表示,得到的数据将会是长度为512位的倍数。这是为了解决后续数据处理中对信息长度的要求。
第三步是初始化MD5参数操作:MD5在初始化时需要4个十六进制整数(X1,X2,X3,X4,)作为参数,初始化值是:X1=0X2=0X89abcdef,X3=0Xfedcba98,X4=0X765432103、X4)依次保存到四个变量(x1、x2、x3、x4)中。主循环有四次,每次循环操作过程中,都要对x1、x2、x3、x4中的其中3个作一次线性函数运算,然后将所得结果加上第四个变量,再将所得结果向右移一个不定的数,并加上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是低位,D为高位)。
4 MD5算法具体实现
手机APP程序设计的身份验证功能中,在登录按钮的setOnClickListener方法中进行密码验证中设计代码如下:(登录按钮的名字为loginbtn)
String user,pass;
定义变量用于获取密码框(此组件名字是passd5=MD5(pass);
加密后密码与存储密码进行比较(oldpass是存储信息中密码):if(passmd5.equals(oldpass)){//此处是密码对比成功后的代码设置}
设计MD3()方法,此方法的参数为字符串变量str, 方法返回的值为字符串neyDigest=MessageDigest.getInstance(“MD5”);
byte [] myResult= myDigest.digest(passyString=neyB: myResult){
int num=b0xff;
String s=Integer.toHexStri
您可能关注的文档
- 09会计专业论文开题报告.doc
- 09年金融学专业毕业论文题目参考.doc
- 10%丙硫唑悬浮剂防治水稻穗颈瘟药效研究.doc
- 10kV架空线常见故障及防范策略.doc
- 10kV真空断路器非全相分闸的原因分析及处理措施.doc
- 10kV配电线路带电作业危险点及预控对策研究.doc
- 10kV配电线路故障抢修危险点研究.doc
- 1151m3燃料罐TCS模块设计.doc
- 18世纪中国音乐文化在法国的传播研究.doc
- 1930年前后赣南剥削关系变化考察.doc
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
文档评论(0)