adalah : metode menyandikan teks alfabet
dengan menggunakan deretan sandi Caesar berdasarkan huruf-huruf pada kata kunci.
Sandi Vigenère merupakan bentuk sederhana dari sandi substitusipolialfabetik.
Sebagai berikut coding di atas:
package lp2maray.com;
public class vc{
String enkripsi(String p,String k){
String l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#&%*()-_=:,.'?/$^ ";
int pms=l.length();
int pln=p.length();
int ky=k.length();
String y =k;
int m = pln%ky;
for( int i=1; i<pln/ky ; i++){k=k+y;}
k=k+k.substring(0,m);
String c="";
for (int j=0; j<pln; j++ ){
char hsl=l.charAt((l.indexOf(k.charAt(j)) + l.indexOf(p.charAt(j)))%pms);
c=c + l.charAt((l.indexOf(k.charAt(j)) + l.indexOf(p.charAt(j)))%pms);
}
return c;
}
//==================================================================================
String dekripsi(String p,String k){
String l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#&%*()-_=:,.'?/$^ ";
int pms=l.length();
int cpr=p.length();
int ky=k.length();
String y =k;
int m = cpr%ky;
for( int i=1; i<cpr/ky ; i++){k=k+y;}
k=k+k.substring(0,m);
String pl = "";
for (int j=0; j<cpr; j++ ){
char hsl=l.charAt(((l.indexOf(p.charAt(j)) - l.indexOf(k.charAt(j))) +pms )%pms);
pl=pl + hsl;
}
return pl;
}
//==================================================================================
}
sangat menarik artikelnya, saya juga merangkum tulisan tentang vigenere, dapat dilihat disini http://arfianhidayat.com/algoritma-kriptografi-vigenere-cipher
BalasHapusAda DEMO PROGRAM-nya juga, semoga membantu