Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (244.17 KB, 39 trang )
An toàn và bảo mật thông tin
33
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
public class mahoa extends JFrame implements ActionListener
{
Public String[]a = new String[]{"a","b","c","d","e","f","g","h","i","j","k","l","m"
,"n","o","p","q","s","r","t","u","v","x","y","z","w"};
public String[]code=new String[62];
public String xauma=new String();
public String banma=new String();
JTextArea t1=new JTextArea(5,5);
JLabel l1=new JLabel("chua ma");
JButton[] b=new JButton[]{new JButton("ma vong"),new JButton("ma
hemiaffine"),new JButton("ma tt"),new JButton("ma vigenere"),new JButton("ma
ts")};
JButton[] g=new JButton[]{new JButton("gma vong"),new JButton("gma
hemiaffin"),new
JButton("gma
tt"),new
JButton("gma
vigenere"),new
JButton("gma ts")};
public mahoa()
{
setLayout(new FlowLayout());
add(t1);
add(l1);
for(int i=0;i
{
b[i].addActionListener(this);
add(b[i]);
g[i].addActionListener(this);
add(g[i]);
}
Nguyễn Thị Thu Hiền - TK6LC1
An toàn và bảo mật thông tin
34
}
public String mavong(int k)
{
String xauma=t1.getText();
System.out.println("xau ma la: "+xauma);
int l=xauma.length();
String t;
String kq = "";
System.out.println("5%2"+5%2);
for(int i=0;i
{
t=xauma.substring(i,i+1);
for(int j=0;j<26;j++)
{
if(t.compareTo(a[j])==0)
{
kq=kq+a[j+k];
}
}
}
System.out.println("xau ma la: "+kq);
l1.setText("Xau ma la: "+kq);
banma=kq;
return kq;
}
public String hemiaffin(int a1,int b1)
{
String xauma=t1.getText();
System.out.println("xau ma la: "+xauma);
int l=xauma.length();
Nguyễn Thị Thu Hiền - TK6LC1
An toàn và bảo mật thông tin
35
String t;
String kq ="";
for(int i=0;i
{
t=xauma.substring(i,i+1);
for(int j1=0;j1<26;j1++)
{
if(t.compareTo(a[j1])==0)
{
int j=(a1*j1+b1)%26;
kq=kq+a[j];
}
}
}
//System.out.println("xau ma la: "+kq);
l1.setText("Xau ma la: "+kq);
banma=kq;
return kq;
}
public String ghemiaffin(int a1,int b1)
{
String xauma=banma;
System.out.println("xau ma la: "+xauma);
int l=xauma.length();
String t;
String kq ="";
for(int i=0;i
{
t=xauma.substring(i,i+1);
for(int j1=0;j1<26;j1++)
Nguyễn Thị Thu Hiền - TK6LC1
An toàn và bảo mật thông tin
36
{
if(t.compareTo(a[j1])==0)
{
int j = 0;
System.out.println(j1);
int c=tinhx(a1,b1,j1);
if(c!=-1)
{
j=c;
}
System.out.println(j);
kq=kq+a[j];
}
}
}
System.out.println("xau ma la: "+kq);
l1.setText("Xau ma la: "+kq);
return kq;
}
public int tinhx(int a, int b,int j)
{
int x=-1;
int m=(25*a-j+b)/26;
for(x=0;x<26;x++)
for(int k=0;k<=25;k++)
{
if((a*x-26*k==(j-b)))
{
System.out.println("x tim duoc la:"+x);
Nguyễn Thị Thu Hiền - TK6LC1
An toàn và bảo mật thông tin
37
return x;
}
}
return x;
}
public String thaythe(int n,int[] r)
{
String xauma=t1.getText();
System.out.println("xau ma la: "+xauma);
int l=xauma.length();
String kq ="";
int d=0;
while(l>d)
{
int j=r[d%n]+((int) Math.floor((double) d/n))*n;
System.out.println(j);
kq=kq+xauma.substring(j,j+1);
d++;
}
l1.setText("Xau ma la: "+kq);
banma=kq;
return kq;
}
public String gthaythe(int n,int[] r)
{
String xauma=banma;
System.out.println("xau ma la: "+xauma);
int l=xauma.length();
Nguyễn Thị Thu Hiền - TK6LC1
An toàn và bảo mật thông tin
38
String[] tg=new String[l];
String kq ="";
int d=0;
while(l>d)
{
int j=r[d%n]+((int) Math.floor((double) d/n))*n;
System.out.println(j);
tg[j]=xauma.substring(d,d+1);
d++;
}
for(int j=0;j
{
kq=kq+tg[j];
}
l1.setText("Xau ma la: "+kq);
banma=kq;
return kq;
}
public String vigenere(String k)
{
String xauma=t1.getText();
int lx=xauma.length();
int l=k.length();
int r[]=new int[l];
int m = 0;
String kq ="";
for(int i=0;i
{
String t=k.substring(i,i+1);
Nguyễn Thị Thu Hiền - TK6LC1
An toàn và bảo mật thông tin
39
for(int j=0;j<26;j++)
if(t.compareTo(a[j])==0)
{
r[i]=j;
}
}
for(int i=0;i
{
String t=xauma.substring(i,i+1);
for(int j=0;j<26;j++)
if(t.compareTo(a[j])==0)
{
m=j;
}
int ma=(m+r[i%l])%26;
kq=kq+a[ma];
}
l1.setText("Xau ma la: "+kq);
banma=kq;
return kq;
}
public String gvigenere(String k)
{
String xauma=banma;
int lx=xauma.length();
int l=k.length();
int r[]=new int[l];
String kq ="";
for(int i=0;i
{
Nguyễn Thị Thu Hiền - TK6LC1
An toàn và bảo mật thông tin
40
String t=k.substring(i,i+1);
for(int j=0;j<26;j++)
if(t.compareTo(a[j])==0)
{
r[i]=j;
}
}
int m = 0;
for(int i=0;i
{
String t=xauma.substring(i,i+1);
for(int j=0;j<26;j++)
if(t.compareTo(a[j])==0)
{
m=j;
System.out.println("ma cua kt la:"+m);
}
int ma=(m-r[i%l])%26;
kq=kq+a[ma];
}
l1.setText("Xau ma la: "+kq);
return kq;
}
public String tusinh(int k)
{
String xauma=t1.getText();
int l=xauma.length();
String kq="";
int[] m = new int[l];
Nguyễn Thị Thu Hiền - TK6LC1
An toàn và bảo mật thông tin
41
for(int i=0;i
{
String t=xauma.substring(i,i+1);
for(int j=0;j<26;j++)
if(t.compareTo(a[j])==0)
{
m[i]=j;
}
int ma = 0;
if(i>0) k=m[i-1];
ma=(m[i]+k)%26;
m[i]=ma;
kq=kq+a[ma];
}
l1.setText("Xau ma la: "+kq);
banma=kq;
return kq;
}
public String gtusinh(int k)
{
String xauma=banma;
int l=xauma.length();
String kq="";
int ma = 0;
int[] m = new int[l];
for(int i=0;i
{
String t=xauma.substring(i,i+1);
for(int j=0;j<26;j++)
if(t.compareTo(a[j])==0)
Nguyễn Thị Thu Hiền - TK6LC1
An toàn và bảo mật thông tin
42
{
m[i]=j;
}
if(i>0)k=m[i-1];
ma=(m[i]-k)%26;
if (ma<0)ma=ma+26;
System.out.println("ma ky tu la:" +ma);
kq=kq+a[ma];
}
l1.setText("Xau ma la: "+kq);
return kq;
}
public String gmavong(int k)
{
String xauma=banma;
System.out.println("xau ma la: "+xauma);
int l=xauma.length();
String t;
String kq = "";
for(int i=0;i
{
t=xauma.substring(i,i+1);
for(int j=0;j<26;j++)
{
if(t.compareTo(a[j])==0)
{
kq=kq+a[(j-k)%26];
}
}
Nguyễn Thị Thu Hiền - TK6LC1
An toàn và bảo mật thông tin
43
}
System.out.println("xau ma la: "+kq);
l1.setText("Xau ma la: "+kq);
return kq;
}
public static void main()
{
mahoa m=new mahoa();
m.setSize(100,100);
m.setVisible(true);
}
public Object getValue(String key)
{
return null;
}
public void putValue(String key, Object value)
{
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b[0])
{
mavong(4);
//hemiaffin(4,5);
//vigenere("trandong");
//gvigenere("trandong");
// gtusinh(4);
//int[] r={0,3,1,2};
//gthaythe(4,r);
Nguyễn Thị Thu Hiền - TK6LC1