package Cryptanalyse; import java.io.*; public class Cryptogramme2 { private static char[] alf = new char[26]; // translation vector public Cryptogramme2() { for (int i = 0; i < alf.length; i++) alf[i] = (char)('A' + i); randomize(); } private int rand(int r, int s) { // r <= rand <= s return (int)((s - r + 1)*Math.random() + r); } private void randomize() { for (int i = 0; i < alf.length - 1; i++) { int ind = rand(i+1, alf.length - 1); char t = alf[i]; alf[i] = alf[ind]; alf[ind] = t; } } public void printArray() { System.out.print("Alphabet: "); for (int i = 0; i < alf.length; i++) System.out.print((char)('A' + i)); System.out.println(); System.out.print("Traduit : "); for (int i = 0; i < alf.length; i++) System.out.print(alf[i]); System.out.println("\n"); } public static void main(String[] args) { // TODO Auto-generated method stub Cryptogramme2 crypto = new Cryptogramme2(); crypto.printArray(); //crypto.createCryptogram(); FileReader texte = null; FileWriter ctexte = null; File fichier = new File("c://texte-crypt.txt"); if (fichier.exists()) { fichier.delete(); } try { texte = new FileReader("c://1.txt"); ctexte = new FileWriter("C://exte-crypt.txt", true); char ch; while ((byte)(ch = (char) texte.read()) != -1) { if (Character.isUpperCase(ch)) ch = alf[ch - 'A']; System.out.print(ch); ctexte.write(ch); } // Fin du while } catch (IOException exception) { exception.printStackTrace(); } finally { try { //ctexte.write('!'); //ctexte.write(alf); texte.close(); ctexte.flush(); ctexte.close(); } catch(IOException exception1) { exception1.printStackTrace(); } } } // Fin de main }