📄 更改密码.java~6~
字号:
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; 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); }public String encrypt(String str){ String cp=""; 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[] = str.getBytes("UTF8"); BigInteger m = new BigInteger(ptext); //计算密文,打印 BigInteger c = m.modPow(e1, n); System.out.println("c=" + c); //保存密文 cp=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();}return cp;} 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(); //////////////////加密/////////////////////////////////////////// str1=encrypt(str1); str2=encrypt(str2); str3=encrypt(str3);/////////////////////////////////////// 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 + -