网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > JAVA > 正文

基于java技术的md5加密算法的设计与实现

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 14/04/10

网学网为需要JAVA的朋友们搜集整理了 基于java技术的md5加密算法的设计与实现 相关资料,希望对各位网友有所帮助!

 1 MD5算法描述MD5算法可简述为:以512位分组来处理输入字节串的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由4个32位分组组成,将这4个32位分组级联后将生成一个128位散列值在MD5算法中,首先需要对信息进行填充,使其字节长度对512求余的结果等于448.因此,信息的字节长度(Bits Length)将被扩展至N*512+448,即N*64+56个字节(Bytes),N为一个正整数.填充的方法是在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充.然后,在这个结果后面附加一个以64位二进制表示的填充前信息长度.经过这2步的处理,现在的信息字节长度=N*512+448+64=(N+1)*512,即长度恰好是512的整数倍.这样做的原因是为满足后面处理中对信息长度的要求.
  MD5中有4个32位被称作链接变量(Chaining Variable)的整数参数,分别为:A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210.当设置好这4个链接变量后,就开始进入算法的四轮循环运算.循环的次数是信息中512位信息分组的数目.
  将4个链接变量复制到另外四个变量中:A到a,B到b,C到c,D到d.主循环有四轮,每轮循环都很相似.第一轮进行16次操作.每次操作对a、b、c和d中的其中3个作一次非线性函数运算,然后将所得结果加上第四个变量,文本的一个子分组和一个常数.再将所得结果向右环移一个不定的数,并加上a、b、c或d中之一.最后用该结果取代a、b、c或d中之一.每次操作中用到的四个非线性函数(每轮一个)分别为F(X,Y,Z) = X&Y|NOT(X)&Z ;G(X,Y,Z) = X&Z|Y&NOT(Z) ;H(X,Y,Z) = X xorY xor Z ;I(X,Y,Z) = Y xor (X|NOT(Z)),其中如果X、Y和Z的对应位是独立和均匀的,那么结果的每一位也应是独立和均匀的.F是一个逐位运算的函数.即,如果X,那么Y,否则Z.函数H是逐位奇偶操作符.
  2 JSP和JavaBeanJSP是基于Java体系的WEB开发技术,用于创建跨平台及跨服务器的动态网页[6].与CGI、ASP、PHP等相比,它具有组件和网页设计从逻辑上分离、良好的扩展性和安全性、一次编写,到处运行、强调可重用的组件等优点[7].JavaBean是一种可重用Java组件,它通过封装业务逻辑成为功能对象,实现被JavaApplet/Servelet/JSP等Java程序的调用[8].是目前功能强大及开发简单的最好的组件方式.如果将一些繁琐或者常用的动作,撰写于Bean内,可以达到简化和优化JSP网页结构的目的.如果已有实现某种功能的JavaBean,则创建包含这个功能的Web页面只需要实例化它,再用HTML表格将它定位即可.

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号