如何在java中加密简单的单字母字母密码

时间:2014-02-17 15:50:19

标签: java encryption mono alphabetical

我必须编写一个程序,用java加密单字母字母密码。

我的简单程序从txt文件读取并保存到char数组。

在数组程序中,我总结了具有合适索引的字母数并对其进行排序。

但是下一个排序索引字符与字母数不匹配。

现在我不知道接下来该做什么可以帮忙吗?

解决方案应该比较两个数组的字母数并替换它。 例如 文件1 .......文件2 {a,b,c,d} ..... | {g,e,f,h} {22,12,10,7} | {12,6,4,3}

替换:g - > a                E-&GT,B

package szyfr;

import java.io.*;
import java.util.Arrays;

public class Szyfr {

public static void main(String[] args) throws IOException {
    String file1 = "C:file.txt";
    String file2 = "C:file2.txt";

    odczyt(file1, file2);

}

static void odczyt(String file1, String file2) throws IOException {

    // wiersz po wierszu
    BufferedReader filein1 = null;
    BufferedReader filein2 = null;
    try {

        filein1 = new BufferedReader(new FileReader(file1));
        filein2 = new BufferedReader(new FileReader(file2));

        int[] arr1 = new int[26];
        String str;
        while ((str = filein1.readLine()) != null) {
            str.toCharArray();
            for (int i = 0; i < str.length(); i++) {
                if (str.charAt(i) >= 'a' && str.charAt(i) <= 'z') {
                    arr1[str.charAt(i) - 'a']++;
                }
            }//43752   7770
        }
        filein1.close();
        System.out.print(Arrays.toString(arr1));

        int[] arr2 = new int[26];
        String str2;
        while ((str2 = filein2.readLine()) != null) {
            str2.toCharArray();
            for (int i = 0; i < str2.length(); i++) {
                if (str2.charAt(i) >= 'a' && str2.charAt(i) <= 'z') {
                    arr2[str2.charAt(i) - 'a']++;
                }
            }//43752   7770
        }
        System.out.println(" ");
        System.out.println("second : ");
        System.out.print(Arrays.toString(arr2));

        System.out.println();
        System.out.println();
        int[] att;
        int[] replaces;
        Arrays.sort(arr1);
        System.out.println(Arrays.toString(arr1));

        Arrays.sort(arr2);
        System.out.println(Arrays.toString(arr2));

        for (int i = 0; i < arr2.length; i++) {
            arr2[i] = arr1[i];
        }
        System.out.println("second: " + Arrays.toString(arr2));
//////
        filein1 = new BufferedReader(new FileReader(file1));
        int[] tab3 = new int[26];

        System.out.println("next arrays " + Arrays.toString(tab3));

    } finally {
        if (filein1 != null) {
            filein1.close();
        }
        if (filein2 != null) {
            filein2.close();
        }
    }
}
}

0 个答案:

没有答案