⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 登录.java~35~

📁 学生信息管理系统(JBuilder x 开发,采用RSA 512位公钥加密,私钥用于找回密码,2006-4-5)
💻 JAVA~35~
字号:
package untitled3;

import java.awt.*;
import javax.swing.*;
//import com.borland.dbswing.*;
//import com.borland.dx.sql.dataset.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
import java.security.interfaces.*;
import java.math.*;
import java.io.*;



/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2001</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

public class 登录 extends JDialog {
  Vector item=new Vector();

  ImageIcon icon1;
  JLabel jLabel1 = new JLabel();
  JLabel jLabel2 = new JLabel();
  JLabel jLabel3 = new JLabel();
  JLabel jLabel4 = new JLabel();
  JButton jButton1 = new JButton();
  JButton jButton2 = new JButton();
  JTextField jTextField1 = new JTextField();
  JPasswordField jPasswordField1 = new JPasswordField();
 // JdbComboBox jdbComboBox1 = new JdbComboBox();
 // Database database1 = new Database();
 // QueryDataSet queryDataSet1 = new QueryDataSet();
  private int counter=0;
  private int counter1=0;
  private int max;

  private int flag=0;
  Connection con=null;
  ResultSet rs=null;
  PreparedStatement ps=null;
  Statement stmt;
  Connection connection;
  Statement statement;
  public String operator,password,right,mode;
 private int length=0;
 String cs;
  JComboBox jComboBox1 = new JComboBox(item);
  JLabel jLabel5 = new JLabel();
  //Database database2 = new Database();
  //Database database3 = new Database();
  //QueryDataSet queryDataSet2 = new QueryDataSet();




  public 登录(Frame frame, String title, boolean modal) {
    super(frame, title, modal);
    try {
      jbInit();
      pack();
    }
    catch(Exception ex) {
      ex.printStackTrace();
    }
  }

  public 登录() {
    this(null, "", false);
  }

  private void jbInit() throws Exception {
    icon1=new ImageIcon("img1.jpg");
    jComboBox1.setFont(new java.awt.Font("Dialog", 0, 15));
    jLabel5.setBounds(new Rectangle(0, 0, 497, 362));
    jLabel5.setIcon(icon1);
    jLabel5.setText("");
    item.add("学生");
  item.add("老师");
  item.add("管理员");

    jLabel1.setFont(new java.awt.Font("隶书", 1, 40));
    jLabel1.setText("学生信息管理系统");
    jLabel1.setBounds(new Rectangle(101, 56, 348, 55));
    this.getContentPane().setLayout(null);
    jLabel2.setFont(new java.awt.Font("隶书", 1, 20));
    jLabel2.setToolTipText("");
    jLabel2.setText("用户:");
    jLabel2.setBounds(new Rectangle(109, 118, 127, 43));
    jLabel3.setFont(new java.awt.Font("隶书", 1, 20));
    jLabel3.setText("密码:");
    jLabel3.setBounds(new Rectangle(107, 166, 120, 40));
    jLabel4.setFont(new java.awt.Font("隶书", 1, 20));
    jLabel4.setText("类型:");
    jLabel4.setBounds(new Rectangle(105, 216, 93, 31));
    jButton1.setBounds(new Rectangle(232, 281, 94, 30));
    jButton1.setFont(new java.awt.Font("Dialog", 0, 20));
    jButton1.setText("登录");
    jButton1.addActionListener(new 登录_jButton1_actionAdapter(this));
    jButton2.setBounds(new Rectangle(335, 280, 92, 31));
    jButton2.setFont(new java.awt.Font("Dialog", 0, 20));
    jButton2.setText("退出");
    jButton2.addActionListener(new 登录_jButton2_actionAdapter(this));
    jTextField1.setFont(new java.awt.Font("Dialog", 0, 20));
    jTextField1.setText("");
    jTextField1.setBounds(new Rectangle(190, 122, 150, 33));
    jPasswordField1.setText("");
    jPasswordField1.setBounds(new Rectangle(190, 171, 152, 31));
   jComboBox1.setEnabled(true);
   max=(int)(Math.random()*7)+3;
  // System.out.print(max);
  /*
    jdbComboBox1.setEnabled(true);
    jdbComboBox1.setFont(new java.awt.Font("Dialog", 0, 15));
    jdbComboBox1.setLocale(java.util.Locale.getDefault());
    jdbComboBox1.setAutoscrolls(false);
    jdbComboBox1.setDebugGraphicsOptions(0);
    jdbComboBox1.setDoubleBuffered(false);
    jdbComboBox1.setMinimumSize(new Dimension(73, 26));
    jdbComboBox1.setOpaque(true);
    jdbComboBox1.setPreferredSize(new Dimension(73, 26));
    jdbComboBox1.setRequestFocusEnabled(true);
    jdbComboBox1.setToolTipText("");
    jdbComboBox1.setActionCommand("comboBoxChanged");
    jdbComboBox1.setEditable(false);
    jdbComboBox1.setLightWeightPopupEnabled(true);
    jdbComboBox1.setMaximumRowCount(8);
    jdbComboBox1.setPopupVisible(false);
    jdbComboBox1.setDataSet(queryDataSet1);
    jdbComboBox1.setDropDownWidth(-1);
    jdbComboBox1.setFixedCellHeight(-1);
    jdbComboBox1.setItems(new String[] {"学生", "老师", "管理员"});
    jdbComboBox1.setSelectedIndex(0);
    jdbComboBox1.setBounds(new Rectangle(146, 181, 153, 31));
   */

    jComboBox1.setBounds(new Rectangle(190, 216, 153, 30));
    this.getContentPane().add(jButton2, null);
    this.getContentPane().add(jButton1, null);
    this.getContentPane().add(jComboBox1, null);
    this.getContentPane().add(jLabel4, null);
    this.getContentPane().add(jPasswordField1, null);
    this.getContentPane().add(jLabel3, null);
    this.getContentPane().add(jTextField1, null);
    this.getContentPane().add(jLabel1, null);
    this.getContentPane().add(jLabel2, null);
    this.getContentPane().add(jLabel5, null);
 //   this.getContentPane().add(jdbComboBox1, null);
  }

  void cancel() {
          dispose();
      }



  void jButton2_actionPerformed(ActionEvent e) {
System.exit(0);
  }
//////////////////////登录/////////////////////
  void jButton1_actionPerformed(ActionEvent e) {
  String str2=jPasswordField1.getText().trim();

  //////////////////加密///////////////////////////////////////////
 try{
   //获取公约及参数e,n
   FileInputStream f = new FileInputStream("Skey_RSA_pub.dat");
   ObjectInputStream b = new ObjectInputStream(f);
   RSAPublicKey pbk = (RSAPublicKey) b.readObject();
   BigInteger e1 = pbk.getPublicExponent();
   BigInteger n = pbk.getModulus();
  // System.out.println("e1=" + e1);
  // System.out.println("n=" + n);
   //获取明文m
   byte ptext[] = str2.getBytes("UTF8");
   BigInteger m = new BigInteger(ptext);
   //计算密文,打印
   BigInteger c = m.modPow(e1, n);
  // System.out.println("c=" + c);
   //保存密文
   cs = c.toString();
  // BufferedWriter out =
  //     new BufferedWriter(new OutputStreamWriter(new FileOutputStream(
 //      "Enc_RAS.dat")));
//   out.write(cs, 0, cs.length());
//   out.close();
 }catch(Exception ex){
  // ex.printStackTrace();
 }
///////////////////////////////////////





    Dcyh jr = new Dcyh();
     Statement stemtjr = jr.stmt;
     Connection fd=jr.con;
    String str1=jTextField1.getText();

          String str3="";

          if(String.valueOf(jComboBox1.getSelectedItem())=="老师"){str3+="1"; }
          else if(String.valueOf(jComboBox1.getSelectedItem())=="管理员")str3+="2";
          else {str3+="0";}
          //判断查询条件
     String sql="SELECT * FROM 用户 WHERE 用户=";
     sql+="'"+str1+"'";
     sql+=" AND 权限="+str3;
    // System.out.println(sql);

          try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(Exception ex){ }
    try
{
          con = DriverManager.getConnection("jdbc:odbc:用户", "sample", "");
          stmt = con.createStatement();
          rs=stmt.executeQuery(sql);
////////////////////////////////////
          /* lookup(String sql)
 {
   rs=stmt.executeQuery(sql);
 }*/
/////////////////////////////////////
}catch (Exception ex){   }
  try{   ResultSet rsjr=stemtjr.executeQuery(sql);
     if(rsjr.next())
      { operator=rsjr.getString(1);
        password=rsjr.getString(2);
        right=rsjr.getString(3);
        mode=rsjr.getString(4);

      }
  }catch(Exception ex){
 //  JOptionPane.showMessageDialog(this,"用户或密码错误","警告",JOptionPane.INFORMATION_MESSAGE);

   // if(operator.length()>0)flag=1; System.out.println("e1111or");
 }
   length=str1.length();
 // System.out.println("str2 "+str2);
 // System.out.println("operator "+operator);
  //System.out.println("password "+password);
  //System.out.println("counter1="+counter1);
if(length>0){
          if(!(cs.equals(password)||counter1>=max)){
            counter1++;
            if (!(cs.equals(password))&&counter1<max)counter1=counter1; //JOptionPane.showMessageDialog(this, "用户或密码错误!","警告", JOptionPane.INFORMATION_MESSAGE);
            else if(counter1>=max){
             //  JOptionPane.showMessageDialog(this, "输入错误3次,退出系统!", "警告", JOptionPane.INFORMATION_MESSAGE);
               System.exit(0);
            }
          }
          else if(cs.equals(password)){
             cancel();
            // JOptionPane.showMessageDialog(this,"OK,Welcome!","警告",JOptionPane.INFORMATION_MESSAGE);
///////////////////增加日志///////////////////
            try{
      try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // 实例化JDBC-ODBC桥的驱动
      }
      catch (ClassNotFoundException ex1) {
      }

      String url = "jdbc:odbc:日志管理";                 // 设置连接字符串
      connection = DriverManager.getConnection(url);      // 连接数据库
      statement = connection.createStatement();           // 创建Statement接口对象
      java.util.Date now=new java.util.Date();
      String sql1 = "insert into 日志管理 (类型,用户,日期) values ('登录',";
      sql1+="'"+operator+"',";
      sql1+="'"+now+"')";

      statement.executeUpdate(sql1);                       // 执行增加新的数据记录语句
            }catch(Exception ex){;}
            //maindesk调用主界面////////////////////////////////////////
            boolean packFrame = false;
            maindesk frame = new maindesk(operator,password,right,mode);
                //Validate frames that have preset sizes
                //Pack frames that have useful preferred size info, e.g. from their layout
                if (packFrame) {
                  frame.pack();
                }
                else {
                  frame.validate();
                }
                //Center the window
                Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
                Dimension frameSize = frame.getSize();
                if (frameSize.height > screenSize.height) {
                  frameSize.height = screenSize.height;
                }
                if (frameSize.width > screenSize.width) {
                  frameSize.width = screenSize.width;
                }
                frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
                frame.setVisible(true);
  }
}
///////////////////////////////////////////////
}

////////////保存用户及权限//////////////////

}
class 登录_jButton2_actionAdapter implements java.awt.event.ActionListener {
  登录 adaptee;

  登录_jButton2_actionAdapter(登录 adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton2_actionPerformed(e);
  }
}

class 登录_jButton1_actionAdapter implements java.awt.event.ActionListener {
  登录 adaptee;

  登录_jButton1_actionAdapter(登录 adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton1_actionPerformed(e);
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -