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(); } }