[DooMsDaY]
Administrator
Rep: 65535
Offline
Cinsiyet: 
Mesaj Sayısı: 2865
288317.00 Forum Lirası
Extra Listesi
Üyeye para gönder
|
 |
|
|
------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.
|