• Java读取、创建Excel;验签,加密


    需要架包:poi相关jar,Md5.jar
    ----------------------------------------------------------------------------------------------------------------------------------
    package com.fanqi.test;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    import java.util.Set;
    import java.util.TreeMap;
    
    import org.apache.poi.xssf.usermodel.XSSFSheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
    import org.json.JSONArray;
    import org.json.JSONObject;
    
    public class TestDemo1 {
    	
    	/*
    	 * 读取Excel数据
    	 */
    	public List<Map<String, Object>> readExcel(String filename) {
    		
    		FileInputStream in;
    		XSSFWorkbook workbook = null;
    		try {
    			in = new FileInputStream(filename);
    			workbook = new XSSFWorkbook(in);
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		XSSFSheet sheet = workbook.getSheetAt(0);
    		int num = 0;
    		List<Map<String, Object>> listCanshu = new ArrayList<Map<String, Object>>();
    			for(int i=1;i<=sheet.getLastRowNum();i++){
    				Map<String, Object> map = new TreeMap<String, Object>();
    				String  cell0 = sheet.getRow(i).getCell(0).getStringCellValue();
    				String  cell1 = sheet.getRow(i).getCell(1).getStringCellValue();
    				map.put("canshu1", cell0);
    				map.put("canshu2", cell1);
    				listCanshu.add(map);
    		}
    			return listCanshu;	
    	}
    	/*
    	 * 组装成JSON形式
    	 */
    	public JSONArray zuZhuangCanShu(List<Map<String, Object>> listCanshu) {
    		
    		JSONArray jArray = new JSONArray();
    		for(int i=0;i<listCanshu.size();i++ ){
    			JSONObject json = new JSONObject(listCanshu.get(i));
    			jArray.put(json);
    		}
    		return jArray;		
    	}
    	/*
    	 * 验签,加密
    	 */
    	public List signMD5(List<Map<String, Object>> l) {
    		
    		List list = new ArrayList();
    		for(int i=0;i<l.size();i++){
    			String str = "";
    			StringBuffer buffer = null;
    			byte[] result = null;
    			Set set = l.get(i).entrySet();
    			Iterator it = set.iterator();
    			while(it.hasNext()){
    				Map.Entry mapEntry = (Map.Entry) it.next();
    				String key = (String) mapEntry.getKey();
    				String value = (String) mapEntry.getValue();
    				str = str + key + "=" + value + "&";
    			}
    			str = str.substring(0, str.length()-1);
    			try {
    				MessageDigest md = MessageDigest.getInstance("MD5");
    				result = md.digest(str.getBytes());
    				buffer = new StringBuffer();
    				for(byte r : result){
    					String s =Integer.toHexString(0xff & r);
    					if(s.length()==1){
    						buffer.append("0"+s);
    					}else{
    						buffer.append(s);
    					}
    				}
    				
    			} catch (NoSuchAlgorithmException e) {
    				e.printStackTrace();
    			}
    			list.add(buffer.toString());
    		}
    		
    		return list;	
    	}
    	
    	public static void main(String[] args) throws Exception {
    		// TODO Auto-generated method stub
    		TestDemo1 t = new TestDemo1();
    		List<Map<String, Object>> l = t.readExcel("D:\1.xlsx");
    		JSONArray jArray = t.zuZhuangCanShu(l);		
    		List list = t.signMD5(l);
    		System.out.println(list.get(0));
    		System.out.println(list.get(1));
    		System.out.println(list.get(2));
    	}
    
    }
    
    
    
    
     
     
  • 相关阅读:
    POS门店数据同步系统建模(1)
    Json Formatter 1.0 Json格式化工具
    XLSReadWriteII 使用
    POS门店数据同步系统建模(2)
    内存泄漏superobject
    使用电脑查看android手机的短信与修改cmd窗口编码
    wordpress站点修改站点地址引起的图片地址修改
    系统子模块_EM310初始化子系统流程图
    mark
    系统子模块_短信命令语法设计
  • 原文地址:https://www.cnblogs.com/fqfanqi/p/6180651.html
Copyright © 2020-2023  润新知