1、系统实现第一步,Index.jsp中的源代码, 文件名:input type=file name=Md5FilesEntity.filename /submit value=start/tr/table/form/center第二步,struts配置文件中的源代码- struts2配置文件 -strutsconstant value=truestruts.devModezh_CNstruts.localeutf-8struts.i18n.encodingpackage name=default extends=struts-defaultaction name=mdeAction class=
2、com.crypt.action.mdeActionmethod=codeCryperesult name=success/index.jsp/actioncom.crypt.action.FilesCryptAction/success.jspfileCrypt2SetCrypt2/FilnallySuccess.jspfail/fail.jsp 第三步,经过struts2的跳转到FilesCryptActionpackage com.crypt.action;import java.io.IOException;import javax.servlet.http.HttpServletRe
3、quest;import javax.servlet.http.HttpSession;import org.apache.struts2.ServletActionContext;import com.crypt.dao.Md5_dao;import com.opensymphony.xwork2.ActionSupport;import com.crypt.entity.Md5FilesEntity;public class FilesCryptAction extends ActionSupport private Md5FilesEntity Md5FilesEntity = new
4、Md5FilesEntity();HttpServletRequest request = ServletActionContext.getRequest();HttpSession session = request.getSession();public Md5FilesEntity getMd5FilesEntity() return Md5FilesEntity;public void setMd5FilesEntity(Md5FilesEntity md5FilesEntity) Md5FilesEntity = md5FilesEntity;public String execut
5、e() throws IOException String fileCode = null;try fileCode = Md5_dao.getFileCode(e: + Md5FilesEntity.getFilename();session.setAttribute(fileCode, fileCode);/将第一次算出来的MD5值暂时保存在session中 catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();Md5FilesEntity.setFileAfterHashCode1(fileCod
6、e);return ;public String SetCrypt2() String fileCode2 = null;fileCode2 = Md5_dao.getFileCode(Md5FilesEntity.setFileAfterHashCode2(fileCode2);System.out.println(session1+session.getAttribute();if (fileCode2 .equals(session.getAttribute() return else 第四步,action中开始带值跳转到Md5_dao中package com.crypt.dao;imp
7、ort com.crypt.md5.Md5Crypt_1;import com.crypt.md5.Md5Crypt_2;public class Md5_dao public static String getFileCode(String fileName) throws Exception System.out.println(fileName);String hashCode = Md5Crypt_1.getHash(fileName, MD5);System.out.println(hashCode);return hashCode;第五步,在系统中已经做好了一个给某文件计算其MD5
8、值得API,所以在DAO中直接调用,现在在Md5Crypt_1这个方法中直接处理package com.crypt.md5;import java.io.*;import java.security.*;public class Md5Crypt_1 public static char hexChar = 0, 1234567,89abcdef ;public static void main(String args) throws Exception String fileName = /111.txtString hashType = System.out.println(hashTyp
9、e + = + getHash(fileName, hashType);public static String getHash(String fileName, String hashType)throws Exception InputStream fis;fis = new FileInputStream(fileName);byte buffer = new byte1024;MessageDigest md5 = MessageDigest.getInstance(hashType);int numRead = 0;while (numRead = fis.read(buffer) 0) md5.update(buffer, 0, numRead);fis.close();return toHexString(md5.digest();public static String toHexString(byte b) StringBuilder sb = new StringBuilder(b.length * 2);/ 构造一个字符串生成器,并初始化为指定的字符串内容for (int i = 0; i b.length; i+) sb.app
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1