|
||
| ------Vigenere.java------ public class Vigenere { public static int[] str2IntArr(String s){ int[] res=new int[s.length()]; for(int i=0;i<res.length;i++) res=(int)s.charAt(i); return res; } public static int[] encrypt(int[] arr, int[] key){ int[] res=new int[arr.length]; for(int i=0;i<res.length;i++){ res=(arr+key[i%key.length])%256; //System.out.println(arr); } return res; } public static int[] decrypt(int[] arr, int[] key){ int[] res=new int[arr.length]; for(int i=0;i<arr.length;i++){ res=(arr-key[i%key.length]+256)%256; } return res; } public static char[] int2CharArr(int[] arr){ char[] res=new char[arr.length]; for(int i=0;i<res.length;i++) res=(char)arr; return res; } public static void main(String[] args){ String task=""; char tasknum=' '; try{ task=Tools.getInputFromUser("Encrypt or Decrypt? e/d: "); tasknum=task.charAt(0); if(!(tasknum=='e' || tasknum=='d')){ System.out.println("e/d? enter one"); main(args); } } catch(Exception e){ System.out.println("An Error Occured Please Try Again!"); main(args); } if(tasknum=='e'){ int[] toEncode=Tools.getFileInIntArray(Tools.getInputFro mUser("Enter The Filename To Be Encrypted: ")); int[] key=str2IntArr(Tools.getInputFromUser("Enter the key: ")); Tools.writeArrayToFile(Tools.getInputFromUser("Ent er The Filename To Store The Cipher: "),int2CharArr(encrypt(toEncode,key))); System.exit(0); } else{ int[] toDecode=Tools.getFileInIntArray(Tools.getInputFro mUser("Enter The Filename To Be Decrypted: ")); int[] key=str2IntArr(Tools.getInputFromUser("Enter the key: ")); Tools.writeArrayToFile(Tools.getInputFromUser("Ent er The Filename To Store The Deciphered File: "),int2CharArr(decrypt(toDecode,key))); System.exit(0); } } } -------------------------------------------------------------------------------------------------------- ---------Tools.java------------- import java.io.*; public class Tools { public static String getInputFromUser(String message){ try{ BufferedReader console = new BufferedReader(new InputStreamReader(System.in)); System.out.print(message); String res=console.readLine(); return res; } catch(Exception e){ System.out.print(e); System.out.println(":<There Happened An Error>:\n"); return null; } } public static String getInputFromUser(){ return getInputFromUser("Enter: "); } public static String getInputFromFile(String fileName){ try{ BufferedReader inputFile=new BufferedReader(new FileReader(fileName)); String res=""; String line; while((line=inputFile.readLine())!=null){ res+=line+"\n"; } inputFile.close(); return res; } catch(Exception e){ System.out.print(e); System.out.println(":<There Happened An Error>:"); return null; } } public static void writeOutputToFile(String fileName, String data){ writeOutputToFile(fileName,data,false); } public static void writeOutputToFile(String fileName, String data, boolean append){ try{ File outFile=new File(fileName); PrintWriter output=new PrintWriter(new FileWriter(outFile,append)); output.print(data); output.close(); } catch(Exception e){ System.out.print(e); System.out.println(":<There Happened An Error>:"); } } public static void writeArrayToFile(String fileName, char[] data, boolean append){ try{ File outFile=new File(fileName); PrintWriter output=new PrintWriter(new FileWriter(outFile,append)); for(int i=0;i<data.length;i++){ output.print(data); } output.close(); } catch(Exception e){ System.out.print(e); System.out.println(":<There Happened An Error>:"); } } public static void writeArrayToFile(String fileName,char[] data){ writeArrayToFile(fileName,data,false); } public static char[] getFileInArray(String fileName){ try{ File file1=new File(fileName); BufferedReader readfile1=new BufferedReader(new FileReader(file1)); char[] res = new char[(int)file1.length()]; for(int i=0;i<res.length;i++){ res=(char)readfile1.read(); } readfile1.close(); return res; } catch(Exception e){ System.out.print(e); System.out.println(":<There Happened An Error>:"); return null; } } public static int[] getFileInIntArray(String fileName){ char[] preres=getFileInArray(fileName); int[] res=new int[preres.length]; for(int i=0;i<preres.length;i++){ res=(int)preres; //System.out.println(res+"----"+preres); } return res; } } --------------------------------------------------------------------------------------- Kullanımı: javac Vigenere.java java Vigenere Alıntıdır. |
||
|
||
güzelmiş . . . . . . ![]() K.$ |
||
|
||
Bide şunları bi anlasam
|
||
|
||
anlayabilmen için java programlamasını bilmen lazım ...
|
||