📄 myjframe.java
字号:
if (randomIndex[k]==i) conflict+=1; // e ok, randInd buni } if (conflict == 0) { randomIndex[oaia_neagra] = i; //System.out.println("ce lipseste: "+i+" dublura e "+oaia_neagra); } } for (i=0;i<t;i++){ System.out.println(i + " //// " + randomIndex[i]); } // end corectare //end generare System.out.println(); i=0; while(i<t){ if (i < lungimeInput) valASCII[i]= (int)inputText.charAt(i); caturi[i]= valASCII[i] / 96; resturi[i]= valASCII[i] % 96; permutareASCII[randomIndex[i]] = valASCII[i]; System.out.print(" "+permutareASCII[randomIndex[i]]); //de fapt printez valASCII[i] i++; } System.out.println("\n Permutarea: "); for (i=0;i<t;i++){ System.out.print(" "+permutareASCII[i]); // aceasta este permutarea adevarata!! permutareASCII[i] = permutareASCII[i] - 32; // aducem in zona 0..95 } System.out.println("\n Valorile in intevalul 0-95: "); for (i=0;i<t;i++){ System.out.print(" "+permutareASCII[i]); // aceasta este permutarea adevarata!! // System.out.print(" "+resturi[i]); // caturile // System.out.print(" "+resturi[i]); // resturile } System.out.println("\n INPUT: "+inputText+ "\t Lungime: "+lungimeInput); int suma = 0; i=0; while (i<=lungimeInput) { // parcurg textul // generare cheie j=0; while (j<t) { //t-1, j=0, j++ suma = suma + ( (valASCII[j]-32) * caturi[j] ) ; // a*q j++; } i++; } // suma = suma + (codulLuiS * codulLuiS); // lasam pe S deoparte cheie = suma % 96 ; // suma mod 96 // de facut restul pt cheie System.out.println("\n cheie: "+cheie); // end generare result_cripted_text = ""; char litera; for (i=0;i<t;i++){ litera = (char)((permutareASCII[i] + cheie * resturi[i]) % 96 + 32); // (a + c*r)%96+32 result_cripted_text = result_cripted_text + litera; } //result_cripted_text = inputText+ "\t 123"+"\t456"; //System.out.println("\n Text intermediar: \n"+result_cripted_text); return result_cripted_text; } private String decriptare_text(String inputCryptedText){ String result_decripted_text; result_decripted_text = " decriptat: "; int lungimeInputCrypted; int t = 10; int i=0, j=0, k=0; int codulLuiS = 12; permutareASCII = new int[t]; int valASCII[] = new int[t]; int randomIndex[] = new int[t]; lungimeInputCrypted = inputCryptedText.length(); if (t>lungimeInputCrypted) t=lungimeInputCrypted; for (i=0;i<t;i++){ permutareASCII[i]=-1; valASCII[i]=32; } System.out.println(" to be processed..."); i=0; while(i<t){ if (i < lungimeInputCrypted) { valASCII[i]= (int)inputCryptedText.charAt(i); permutareASCII[i] = valASCII[i]; System.out.print(" "+valASCII[i]); //de fapt printez valASCII[i] } i++; } for (i=0;i<t;i++){ System.out.print(" "+permutareASCII[i]); // aceasta este permutarea adevarata!! permutareASCII[i] = permutareASCII[i] - 32; // aducem in zona 0..95 } System.out.println("\n Valorile in intevalul 0-95: "); for (i=0;i<t;i++){ System.out.print(" . "+permutareASCII[i]); // aceasta este permutarea adevarata!! } System.out.println("\n INPUT: "+inputCryptedText+ "\t Lungime: "+lungimeInputCrypted); System.out.println("\n Cheia: "+cheie); char litera; for (i=0;i<t;i++){ permutareASCII[i] = (permutareASCII[i] * inv_multipl(permutareASCII[i],96) ) % 96 ; // (c*r * (r^(-1)) ) % 96 litera = (char)(permutareASCII[i] - (cheie * permutareASCII[i]) % 96 + 32); //litera = ; result_decripted_text = result_decripted_text + litera; } System.out.println("\n OUTPUT: "+result_decripted_text); return result_decripted_text; } private String caesar_criptare_text(String inputText){ String result_cripted_text; int lungimeInput; int t = 10; int i=0; lungimeInput = inputText.length(); t = lungimeInput; permutareASCII = new int[t]; int valASCII[] = new int[t]; for (i=0;i<t;i++){ permutareASCII[i]=-1; valASCII[i]=0; } i=0; while(i<t){ valASCII[i]= (int)inputText.toLowerCase().charAt(i); permutareASCII[i] = valASCII[i] - 97; // aducem in zona 0..25 System.out.print(" "+permutareASCII[i]); //de fapt printez valASCII[i] i++; } System.out.println("\n alfabetul redus: "); for (i=0;i<t;i++){ if (permutareASCII[i] + cheie_cezar > 25) permutareASCII[i] = (permutareASCII[i] + cheie_cezar)%26; else permutareASCII[i] = permutareASCII[i] + cheie_cezar; System.out.print(" "+permutareASCII[i]); } result_cripted_text = ""; char litera; for (i=0;i<t;i++){ litera = (char)(permutareASCII[i] + 97); // (a + c*r)%96+32 result_cripted_text = result_cripted_text + litera; } return result_cripted_text; } private String caesar_decriptare_text(String inputCryptedText){ String result_decripted_text; int lungimeInput; int t = 10; int i=0; lungimeInput = inputCryptedText.length(); t = lungimeInput; permutareASCII = new int[t]; int valASCII[] = new int[t]; for (i=0;i<t;i++){ permutareASCII[i]=-1; valASCII[i]=0; } i=0; while(i<t){ valASCII[i]= (int)inputCryptedText.charAt(i); permutareASCII[i] = valASCII[i] - 97; // aducem in zona 0..25 System.out.print(" "+permutareASCII[i]); //de fapt printez valASCII[i]-97 i++; } System.out.println("\n alfabetul redus: "); for (i=0;i<t;i++){ if (permutareASCII[i] - cheie_cezar < 0) permutareASCII[i] = permutareASCII[i] - cheie_cezar + 26; else permutareASCII[i] = permutareASCII[i] - cheie_cezar; System.out.print(" "+permutareASCII[i]); } result_decripted_text = ""; char litera; for (i=0;i<t;i++){ litera = (char)(permutareASCII[i] + 97); result_decripted_text = result_decripted_text + litera; } return result_decripted_text; } private String vigenere_criptare_text(String inputText){ String result_cripted_text; int lungimeInput; int t = 10; int i=0, j=0; int key_Vigenere; lungimeInput = inputText.length(); t = lungimeInput; permutareASCII = new int[t]; int valASCII[] = new int[t]; // get cheie_vigenere array //int cheie_vigenere[] = {21, 4, 2, 19, 14, 17}; //cheie_vigenere = "vector"; System.out.println(" lungime vigenere: "+ cheie_vigenere.length() ); for (i=0;i<t;i++){ permutareASCII[i]=-1; valASCII[i]=0; } i=0; j=0; while(i<t){ valASCII[i]= (int)inputText.toLowerCase().charAt(i); System.out.print(" "+(valASCII[i]-97)); if (j < cheie_vigenere.length()){ key_Vigenere = ((int)cheie_vigenere.charAt(j))%97; valASCII[i] = (valASCII[i]-97 + key_Vigenere)%26; while (valASCII[i]<0){ valASCII[i]+=26; } } else { j=0; key_Vigenere = ((int)cheie_vigenere.charAt(j))%97; valASCII[i] = (valASCII[i]-97 + key_Vigenere)%26; while (valASCII[i]<0){ valASCII[i]+=26; } } j++; i++; } System.out.println("\n vigenere cheie: "); for (i=0;i<cheie_vigenere.length();i++){ //System.out.print(" "+cheie_vigenere[i]); System.out.print(" "+(int)cheie_vigenere.charAt(i)%97); } System.out.println(" vigenere rezultat: "); result_cripted_text = ""; char litera; for (i=0;i<t;i++){ System.out.print(" "+(valASCII[i])); litera = (char)(valASCII[i]+97); result_cripted_text = result_cripted_text + litera; } return result_cripted_text; } private String vigenere_decriptare_text(String inputCryptedText){ String result_decripted_text; int lungimeInput; int t = 10; int i=0, j=0; int key_Vigenere; lungimeInput = inputCryptedText.length(); t = lungimeInput; permutareASCII = new int[t]; int valASCII[] = new int[t]; // get cheie_vigenere array //int cheie_vigenere[] = {21, 4, 2, 19, 14, 17}; //cheie_vigenere = "vector"; System.out.println(" lungime vigenere: "+ cheie_vigenere.length() ); for (i=0;i<t;i++){ permutareASCII[i]=-1; valASCII[i]=0; } i=0; j=0; while(i<t){ valASCII[i]= (int)inputCryptedText.toLowerCase().charAt(i); System.out.print(" "+(valASCII[i]-97)); if (j < cheie_vigenere.length()){ key_Vigenere = ((int)cheie_vigenere.charAt(j))%97; valASCII[i] = (valASCII[i]-97 - key_Vigenere)%26; while (valASCII[i]<0){ valASCII[i]+=26; } } else { j=0; key_Vigenere = ((int)cheie_vigenere.charAt(j))%97; valASCII[i] = (valASCII[i]-97 - key_Vigenere)%26; while (valASCII[i]<0){ valASCII[i]+=26; } } j++; i++; } System.out.println("\n vigenere cheie: "); for (i=0;i<cheie_vigenere.length();i++){ System.out.print(" "+(int)cheie_vigenere.charAt(i)%97); } System.out.println("\n vigenere rezultat: "); result_decripted_text = ""; char litera; for (i=0;i<t;i++){ System.out.print(" "+(valASCII[i])); litera = (char)(valASCII[i]+97); result_decripted_text = result_decripted_text + litera; } return result_decripted_text; } private String Text2Encode; private String Text2Decode; private int[] permutareASCII; private int cheie = 0; private int cheie_cezar = 0; private String cheie_vigenere = "vector"; private int block; // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLabel LabelCheie; private javax.swing.JLabel LabelCheieVigenere; private javax.swing.JButton jBCezarDecode; private javax.swing.JButton jBCezarEnc; private javax.swing.JButton jBCifruVigenere; private javax.swing.JButton jBDecodeVigenere; private javax.swing.JButton jBDecript; private javax.swing.JButton jButton_cripteaza; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JPanel jPanel1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JTextArea jTextAreaCriptat; private javax.swing.JTextArea jTextAreaNormal; private javax.swing.JTextField jTextFieldVigenereKeys; private javax.swing.JTextField jTextField_CheieCezar; private javax.swing.JLabel statusLabel; // End of variables declaration//GEN-END:variables }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -