📄 mainframe.java~292~
字号:
package des;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.lang.String;import com.borland.jbcl.layout.*;/** * <p>Title: DES</p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: ShiJiajia</p> * @author not attributable * @version 1.0 */public class MainFrame extends JFrame { JPanel contentPane; XYLayout xYLayout1 = new XYLayout(); JLabel jLabel1 = new JLabel(); JTextField jTextField1 = new JTextField(); JLabel jLabel2 = new JLabel(); JButton jButton1 = new JButton(); JButton jButton2 = new JButton(); JLabel jLabel3 = new JLabel(); JLabel jLabel4 = new JLabel(); JButton jButton3 = new JButton(); JScrollPane jScrollPane1 = new JScrollPane(); JScrollPane jScrollPane2 = new JScrollPane(); JTextArea jTextArea1 = new JTextArea(); JTextArea jTextArea2 = new JTextArea();int [][] s1={{14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7}, {0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8}, {4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0}, {15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13}};int [][] s2={{15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10}, {3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5}, {0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15}, {13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9}};int [][] s3={{10,0,9,14,6,3,15,5,1,13,12,7,11,4,2,8}, {13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1}, {13,6,4,9,8,15,3,0,11,1,2,12,5,10,14,7}, {1,10,13,0,6,9,8,7,4,15,14,3,11,5,2,12}};int [][] s4={{7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15}, {13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9}, {10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4}, {3,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14}};int [][] s5={{2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9}, {14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6}, {4,2,1,11,10,13,7,8,15,9,12,5,6,3,0,14}, {11,8,12,7,1,14,2,13,6,15,0,9,10,4,5,3}};int [][] s6={{12,1,10,15,9,2,6,8,0,13,3,4,14,7,5,11}, {10,15,4,2,7,12,9,5,6,1,13,14,0,11,3,8}, {9,14,15,5,2,8,12,3,7,0,4,10,1,13,11,6}, {4,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13}};int [][] s7={{4,11,2,14,15,0,8,13,3,12,9,7,5,10,6,1}, {13,0,11,7,4,9,1,10,13,3,5,12,2,15,8,6}, {1,4,11,13,12,3,7,14,10,15,6,8,0,5,9,2}, {6,11,13,8,1,4,10,7,9,5,0,15,14,2,3,12}};int [][] s8={{13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,7}, {1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2}, {7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8}, {2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,11}};String keyword="";String c0="",d0="";String cn="",dn="";String cd="";//char key[][]=new char[16][48];String key[]=new String[16]; JButton jButton4 = new JButton(); //Construct the frame public MainFrame() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { contentPane = (JPanel) this.getContentPane(); jLabel1.setFont(new java.awt.Font("Dialog", 1, 20)); jLabel1.setDebugGraphicsOptions(0); jLabel1.setText("DES加密系统"); contentPane.setLayout(xYLayout1); this.setLocale(java.util.Locale.getDefault()); this.setSize(new Dimension(400, 300)); this.setTitle("DES加密"); jTextField1.setBackground(Color.white); jTextField1.setMinimumSize(new Dimension(4, 22)); jTextField1.setToolTipText(""); jTextField1.setVerifyInputWhenFocusTarget(true); jTextField1.setMargin(new Insets(0, 0, 0, 0)); jTextField1.setSelectionEnd(0); jTextField1.setText(""); jTextField1.setColumns(0); jTextField1.setScrollOffset(0); jTextField1.addKeyListener(new MainFrame_jTextField1_keyAdapter(this)); jLabel2.setFont(new java.awt.Font("Dialog", 0, 16)); jLabel2.setText("请输入密钥:"); contentPane.setMaximumSize(new Dimension(2147483647, 2147483647)); contentPane.setMinimumSize(new Dimension(316, 200)); contentPane.setPreferredSize(new Dimension(366, 300)); contentPane.setRequestFocusEnabled(true); contentPane.setToolTipText(""); jButton1.setFont(new java.awt.Font("Dialog", 0, 13)); jButton1.setText("清除秘钥"); jButton1.addActionListener(new MainFrame_jButton1_actionAdapter(this)); jButton2.setEnabled(true); jButton2.setFont(new java.awt.Font("Dialog", 0, 12)); jButton2.setText("生成加密密钥"); jButton2.addActionListener(new MainFrame_jButton2_actionAdapter(this)); jLabel3.setFont(new java.awt.Font("Dialog", 0, 14)); jLabel3.setText("原文:"); jLabel4.setFont(new java.awt.Font("Dialog", 0, 14)); jLabel4.setText("结果:"); jButton3.setEnabled(true); jButton3.setFont(new java.awt.Font("Dialog", 0, 12)); jButton3.setFocusPainted(true); jButton3.setText("生成解密密匙"); jButton3.addActionListener(new MainFrame_jButton3_actionAdapter(this)); jTextArea1.setText(""); jTextArea1.setLineWrap(true); jTextArea2.setLineWrap(true); jButton4.setFont(new java.awt.Font("Dialog", 0, 14)); jButton4.setText("加/解 密"); jButton4.addActionListener(new MainFrame_jButton4_actionAdapter(this)); contentPane.add(jLabel2, new XYConstraints(37, 52, 97, -1)); contentPane.add(jLabel1, new XYConstraints(132, 11, 148, -1)); contentPane.add(jTextField1, new XYConstraints(142, 51, 100, 24)); contentPane.add(jLabel4, new XYConstraints(15, 198, 41, 30)); contentPane.add(jLabel3, new XYConstraints(14, 136, 42, 33)); contentPane.add(jScrollPane2, new XYConstraints(64, 194, 295, 49)); jScrollPane2.getViewport().add(jTextArea2, null); contentPane.add(jScrollPane1, new XYConstraints(65, 135, 294, 49)); contentPane.add(jButton1, new XYConstraints(260, 47, -1, 27)); contentPane.add(jButton2, new XYConstraints(12, 90, 109, 23)); contentPane.add(jButton3, new XYConstraints(128, 89, 109, 23)); contentPane.add(jButton4, new XYConstraints(250, 88, 104, 23)); jScrollPane1.getViewport().add(jTextArea1, null); } //Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } void jTextField1_keyPressed(KeyEvent e) {if (this.jTextField1.getText().length()>=8){this.jTextField1.setEditable(false);} } void jButton1_actionPerformed(ActionEvent e) {this.jTextField1.setEditable(true);this.jTextField1.setText(""); } void jButton2_actionPerformed(ActionEvent e) {for(int nw=0;nw<=7;nw++){int n=(byte)(this.jTextField1.getText().charAt(nw));String str="";int temp;while(n>0){temp=n%2;if (temp==0){str="0"+str;}else{str="1"+str;}n=(n-temp)/2;}while(str.length()<8){str="0"+str;}for(int wn=0;wn<=7;wn++){keyword=keyword+str.charAt(wn);}//System.out.println(str);//System.out.println(keyword);}keyword="0"+keyword;//System.out.println(keyword);c0=c0+keyword.charAt(57)+keyword.charAt(49)+keyword.charAt(41)+keyword.charAt(33)+keyword.charAt(25)+keyword.charAt(17)+keyword.charAt(9)+ keyword.charAt(1)+keyword.charAt(58)+keyword.charAt(50)+keyword.charAt(42)+keyword.charAt(34)+keyword.charAt(26)+keyword.charAt(18)+ keyword.charAt(10)+keyword.charAt(2)+keyword.charAt(59)+keyword.charAt(51)+keyword.charAt(43)+keyword.charAt(35)+keyword.charAt(27)+ keyword.charAt(19)+keyword.charAt(11)+keyword.charAt(3)+keyword.charAt(60)+keyword.charAt(52)+keyword.charAt(44)+keyword.charAt(36);d0=d0+keyword.charAt(63)+keyword.charAt(55)+keyword.charAt(47)+keyword.charAt(39)+keyword.charAt(31)+keyword.charAt(23)+keyword.charAt(15)+ keyword.charAt(7)+keyword.charAt(62)+keyword.charAt(54)+keyword.charAt(46)+keyword.charAt(38)+keyword.charAt(30)+keyword.charAt(22)+ keyword.charAt(14)+keyword.charAt(6)+keyword.charAt(61)+keyword.charAt(53)+keyword.charAt(45)+keyword.charAt(37)+keyword.charAt(29)+ keyword.charAt(21)+keyword.charAt(13)+keyword.charAt(5)+keyword.charAt(28)+keyword.charAt(20)+keyword.charAt(12)+keyword.charAt(4);//System.out.println("c0 is "+c0);//System.out.println("d0 is "+d0);//System.out.println("");for(int n=1;n<=16;n++) { switch(n){ case 1:case 2:case 9:case 16: {cn=c0.substring(1)+c0.charAt(0); dn=d0.substring(1)+d0.charAt(0);// System.out.println("cn is "+cn);// System.out.println("dn is "+dn); c0=cn; d0=dn; break;} default:{ cn=c0.substring(2)+c0.charAt(0)+c0.charAt(1); dn=d0.substring(2)+d0.charAt(0)+c0.charAt(1);// System.out.println("cn is "+cn);// System.out.println("dn is "+dn); }}cd=cn.concat(dn);cd="0"+cd;//System.out.println(cd);/////////////////////////////////keyword="";keyword=keyword+cd.charAt(14)+cd.charAt(17)+cd.charAt(11)+cd.charAt(24)+cd.charAt(1)+cd.charAt(5)+cd.charAt(3)+cd.charAt(28)+cd.charAt(15)+cd.charAt(6)+cd.charAt(21)+cd.charAt(10)+cd.charAt(23)+cd.charAt(19)+cd.charAt(12)+cd.charAt(4)+cd.charAt(26)+cd.charAt(8)+cd.charAt(16)+cd.charAt(7)+cd.charAt(27)+cd.charAt(20)+cd.charAt(13)+cd.charAt(2)+cd.charAt(41)+cd.charAt(52)+cd.charAt(31)+cd.charAt(37)+cd.charAt(47)+cd.charAt(55)+cd.charAt(30)+cd.charAt(40)+cd.charAt(51)+cd.charAt(45)+cd.charAt(33)+cd.charAt(48)+cd.charAt(44)+cd.charAt(49)+cd.charAt(39)+cd.charAt(56)+cd.charAt(34)+cd.charAt(53)+cd.charAt(46)+cd.charAt(42)+cd.charAt(50)+cd.charAt(36)+cd.charAt(29)+cd.charAt(32);key[n-1]=keyword;//System.out.println("keyword is "+keyword);System.out.println("key"+n+" is "+key[n-1]);/////////////////////////////////c0=cn;d0=dn; }} void jButton3_actionPerformed(ActionEvent e) { }////////////*******/////////////// void jButton4_actionPerformed(ActionEvent e) {String text;String mi,mitext,ip,rip;String li,ri,lj,rj;String re,rf,rs,rp;String k;text=this.jTextArea1.getText();//提取字符串while(((text.length())%8)!=0){ text=text+" ";}//补位while((text.length())>=8)//循环8 { ip=""; li=""; ri="";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -