Java生成前三位是字母循环的字典


title: Java生成前三位是字母循环的字典
date: 2018-08-17 18:52:22
tags: Java

最近要破解一个秘密,还好这个密码是有线索的,已知密码的前三位是三个字母,后五位是12345,所以干脆用代码生成字典的全部的可能。

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;

public class createDic {
		
public static String CreateDic() {
	//定义字典字符串	
	String Dic="";
	//三个循环生成前三位是26个字母的循环,后5位是12345的字符串
	for(char letter='a';letter<='z';letter++) {
		String aDic = "";
		aDic+=letter;
		//临时存储当前的字符串
		String aDictemp=aDic;
		for(char letter1='a';letter1<='z';letter1++){
			aDic+=letter1;
			String aDictemp2=aDic;
			for(char letter11='a';letter11<='z';letter11++){
				aDic+=letter11+"12345
";
				Dic+=aDic;
				aDic=aDictemp2;
			}
			//将临时字符串赋给aDic解决,重复累加
			aDic=aDictemp;
		}
	}
		return Dic;
}
	
public static void byteOutStream() throws Exception {
	
        //1:使用File类创建一个要操作的文件路径
        File file = new File("D:" + File.separator + "demo" + File.separator + "test.txt"); 
        if(!file.getParentFile().exists()){ //如果文件的目录不存在
            file.getParentFile().mkdirs(); //创建目录
            
        }
        
        //2: 实例化OutputString 对象
        OutputStream output = new FileOutputStream(file);
        
        //3: 准备好实现内容的输出
        String msg = createDic.CreateDic();
		
        //将字符串变为字节数组
        byte data[] = msg.getBytes();
        output.write(data);
        //4: 资源操作的最后必须关闭
        output.close();
        
    }

	public static void main(String[] args) {
		try {
			createDic.byteOutStream();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
}
原文地址:https://www.cnblogs.com/flytree/p/11622680.html