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

📄 更改密码.java~4~

📁 学生信息管理系统(JBuilder x 开发,采用RSA 512位公钥加密,私钥用于找回密码,2006-4-5)
💻 JAVA~4~
字号:
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.security.*;import java.security.spec.*;import javax.crypto.*;import javax.crypto.spec.*;import javax.crypto.interfaces.*;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 {  JLabel jLabel1 = new JLabel();  JLabel jLabel3 = new JLabel();  JButton jButton1 = new JButton();  JButton jButton2 = new JButton();  JPasswordField jPasswordField1 = new JPasswordField();  //Database database1 = new Database();  //QueryDataSet queryDataSet1 = new QueryDataSet();  private int counter=0;  private int counter1=0;  String cs;  private int flag=0;  Connection con=null;  Connection connection;  ResultSet rs=null;  PreparedStatement ps=null;  Statement stmt;  Statement stmt1;  Statement statement;  private String operator,password,right;  private int length=0;  JLabel jLabel2 = new JLabel();  JLabel jLabel5 = new JLabel();  JPasswordField jPasswordField2 = new JPasswordField();  JPasswordField jPasswordField3 = new JPasswordField();  public 更改密码(Frame frame, String title, boolean modal) {    super(frame, title, modal);    try {      jbInit();      pack();    }    catch(Exception ex) {      ex.printStackTrace();    }  }  public 更改密码(String op,String pw,String rt) {    this(null, "", false);    operator=op;    password=pw;    right=rt;  }  private void jbInit() throws Exception {    jLabel1.setFont(new java.awt.Font("楷体_GB2312", 0, 35));    jLabel1.setText("学生信息管理系统");    jLabel1.setBounds(new Rectangle(63, 20, 348, 63));    this.getContentPane().setLayout(null);    jLabel3.setFont(new java.awt.Font("Dialog", 0, 20));    jLabel3.setText("旧   密   码:");    jLabel3.setBounds(new Rectangle(40, 92, 126, 40));    jButton1.setBounds(new Rectangle(193, 246, 94, 30));    jButton1.setFont(new java.awt.Font("Dialog", 0, 20));    jButton1.setText("确定");    jButton1.addActionListener(new 更改密码_jButton1_actionAdapter(this));    jButton2.setBounds(new Rectangle(294, 246, 92, 31));    jButton2.setFont(new java.awt.Font("Dialog", 0, 20));    jButton2.setText("退出");    jButton2.addActionListener(new 更改密码_jButton2_actionAdapter(this));    jPasswordField1.setFont(new java.awt.Font("Dialog", 0, 15));    jPasswordField1.setText("");    jPasswordField1.setBounds(new Rectangle(156, 98, 152, 31));  //  database1.setConnection(new com.borland.dx.sql.dataset.ConnectionDescriptor("jdbc:odbc:学生信息管理", "sample", "", false, "sun.jdbc.odbc.JdbcOdbcDriver"));    jLabel2.setFont(new java.awt.Font("Dialog", 0, 20));    jLabel2.setVerifyInputWhenFocusTarget(true);    jLabel2.setText("新   密   码:");    jLabel2.setBounds(new Rectangle(40, 137, 127, 29));    jLabel5.setFont(new java.awt.Font("Dialog", 0, 20));    jLabel5.setText("确认新密码:");    jLabel5.setBounds(new Rectangle(37, 175, 123, 33));    jPasswordField2.setFont(new java.awt.Font("Dialog", 0, 15));    jPasswordField2.setText("");    jPasswordField2.setBounds(new Rectangle(156, 136, 152, 32));    jPasswordField3.setFont(new java.awt.Font("Dialog", 0, 15));    jPasswordField3.setBounds(new Rectangle(155, 178, 152, 31));    this.getContentPane().add(jLabel1, null);    this.getContentPane().add(jButton2, null);    this.getContentPane().add(jButton1, null);    this.getContentPane().add(jLabel2, null);    this.getContentPane().add(jLabel3, null);    this.getContentPane().add(jPasswordField1, null);    this.getContentPane().add(jPasswordField2, null);    this.getContentPane().add(jLabel5, null);    this.getContentPane().add(jPasswordField3, null);  }  void cancel() {          dispose();      }  void jButton2_actionPerformed(ActionEvent e) {cancel();  }//////////////////////更改密码/////////////////////  void jButton1_actionPerformed(ActionEvent e) {    String str1 = jPasswordField1.getText().trim();    String str2 = jPasswordField2.getText().trim();    String str3 = jPasswordField3.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[] = str1.getBytes("UTF8");    BigInteger m = new BigInteger(ptext);    //计算密文,打印    BigInteger c = m.modPow(e1, n);    System.out.println("c=" + c);    //保存密文    str1 = 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();}///////////////////////////////////////    try {    try {      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // 实例化JDBC-ODBC桥的驱动    }    catch (ClassNotFoundException ex1) {    }     String url = "jdbc:odbc:学生信息管理";                   // 设置连接字符串     connection = DriverManager.getConnection(url);        // 连接数据库     // 创建Statement接口对象     statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);     String sql = "SELECT * FROM 用户 WHERE 用户=";      sql += "'" + operator + "'";      sql += " AND 权限=" + right;      rs = statement.executeQuery(sql);           // 执行学号为输入学号的查询语句      if(password.equals(str1)){        if(str2.equals(str3)){      sql="UPDATE 用户 SET 密码=";          sql+="'"+str2+"'";          sql+=" WHERE 用户=";          sql+="'"+operator+"'";       statement.executeUpdate(sql);       JOptionPane.showMessageDialog(this, "密码已更改!", "警告",                                          JOptionPane.INFORMATION_MESSAGE);            cancel();      // 执行更新数据记录语句       // 清空信息框     }else{           JOptionPane.showMessageDialog(this, "密码不一致!", "警告",                                            JOptionPane.INFORMATION_MESSAGE);           }         }else{ JOptionPane.showMessageDialog(this, "密码错误!", "警告",                                          JOptionPane.INFORMATION_MESSAGE);}}   catch(SQLException ex){                               // 捕捉异常     System.out.println("\nERROR:----- SQLException -----\n");     while (ex != null) {       System.out.println("Message:   " + ex.getMessage());       System.out.println("SQLState:  " + ex.getSQLState());       System.out.println("ErrorCode: " + ex.getErrorCode());       ex = ex.getNextException();     }   } /* Dcyh jr = new Dcyh();    Statement stemtjr = jr.stmt;    Connection fd = jr.con;    String str1 = jPasswordField1.getText().trim();    String str2 = jPasswordField2.getText().trim();    String str3 = jPasswordField3.getText().trim();      String sql = "SELECT * FROM 用户 WHERE 用户=";      sql += "'" + operator + "'";      sql += " AND 权限=" + right;      try {        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");      }      catch (Exception ex) {}      try {        con = DriverManager.getConnection("jdbc:odbc:用户", "sample", "");        stmt = con.createStatement();        stmt1 = 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()) {          password = rsjr.getString(2);          length = operator.length();        }      }      catch (Exception ex) {        //  JOptionPane.showMessageDialog(this,"用户或密码错误","警告",JOptionPane.INFORMATION_MESSAGE);      }     // System.out.println("str1 "+str1);    //  System.out.println("str2 "+str2);    //  System.out.println("operator "+operator);    //  System.out.println("password "+password);  if(password.equals(str1)){        if(str2.equals(str3)){          try {            stmt1 = con.createStatement();          }          catch (Exception ex2) {System.out.print("error");          }       try {     sql="UPDATE 用户 SET '密码'=";         sql+="'"+str2+"'";         sql+=" WHERE 用户=";         sql+="'"+operator+"'";          System.out.println("sql"+sql);          stmt1.executeUpdate(sql);             }        catch (Exception ex1) {System.out.print("error");        }        JOptionPane.showMessageDialog(this, "密码已更改!", "警告",                                          JOptionPane.INFORMATION_MESSAGE);    }//if(str2==str3)    else{         JOptionPane.showMessageDialog(this, "密码不一致!", "警告",                                          JOptionPane.INFORMATION_MESSAGE);         }  }  else{ JOptionPane.showMessageDialog(this, "密码错误!", "警告",                                          JOptionPane.INFORMATION_MESSAGE);}          */////////////////////////////////////////////////}//button1///////////////////////////保存用户及权限//////////////////  public String GetOperator(){return operator;}  public String GetPassword(){return password;}  public String GetRight(){return right;}}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 + -