base64md5dict

1、base64md5dict

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.security.MessageDigest;
import java.util.ArrayList;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class base64md5dict {
	private static String fun(String password){
		String base64Encode=encode64(password);//base64编码
		String md5Encode=md5Encode(password);//md5编码
		int count =base64Encode.length()/4;
		String encryptPassword="";
		for(int i=0;i<4;i++){	
			encryptPassword=encryptPassword+md5Encode.substring(i*8, i*8+8);
			encryptPassword=encryptPassword+base64Encode.substring(i*count, i*count+count);
		}
		return encryptPassword;
	}
	private static String encode64(String str){//base64编码
	    byte[] b = null;
	    String s = null;
	    try{
	        b = str.getBytes("utf-8");
	    }catch (Exception e){
	        e.printStackTrace();
	    }
	    if (b != null){
	        s = new BASE64Encoder().encode(b);
	    }
	    return s;
	}
	private static String md5Encode(String text){//md5编码
        try{
            MessageDigest md = MessageDigest.getInstance("MD5");
            md.update(text.getBytes());
            byte b[] = md.digest();
            int i;
            StringBuffer buf = new StringBuffer("");
            for (int offset = 0; offset < b.length; offset++){
                i = b[offset];
                if (i < 0){
                    i += 256;
                }
                if (i < 16){
                    buf.append("0");
                }
                buf.append(Integer.toHexString(i));
            }
            return buf.toString();                      // 32位加密
            //return buf.toString().substring(8, 24);   // 16位加密
        }catch (Exception e){
            e.printStackTrace();
            return null;
        }
    }
	public static void main(String[] args) throws IOException {
		
		ArrayList<String> list = new ArrayList<>();
		BufferedReader br = new BufferedReader(new FileReader("D:\\dict\\old.txt"));
		BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\dict\\newbase64md5.txt"));
		
		String line;
		while((line=br.readLine())!=null){
			list.add(line);
		}
		br.close();
		for(int i=0;i<list.size();i++){
		  System.out.println(list.get(i));
		}
				
		for(int i=0;i<list.size();i++){
			bw.write(fun(list.get(i)));
			bw.write("\r\n");
		}
		bw.close();
	}
}

 

posted on 2019-07-23 20:35  wmiot  阅读(279)  评论(0编辑  收藏  举报