毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

JAVA商品销售管理系统(ER图+源代码) 第6页

更新时间:2010-4-7:  来源:毕业论文
JAVA商品销售管理系统(ER图+源代码) 第6页
package myEncryption;
public class MyEncryption
{
 public char[] passwordMaker(String macmaked)
    {
 //初始密钥
     int inc[] = {6,1,4,76,111,86,101,9,2,7,10,155,185,89,200,14,32,68,98,124,689};
     char temp;
     //将字符串转换为字符数组
     char[] word = macmaked.toCharArray();
     char[] password = new char[macmaked.length()];
     for(int i = 0; i < macmaked.length(); i++)
     {
      password[i] = word[i];
      //进行第一轮加密
      password[i] = (char)((password[i] * inc[i])%253 + 1);
     }
     //进行移位加密
     for(int out = 1; out < 26; out++)
     {
      //保存第一位密码
      temp = password[0];
      for(int i = 0; i < macmaked.length() - 1; i++)
      {
       password[i] = (char)((password[i + 1] + inc[i])%253 + 1);
       //密钥动态变化实现
       inc[i] = password[i];
      }
      //对最后一位密码加密
      password[macmaked.length() - 1] = (char)((temp + inc[macmaked.length() - 1])%253 + 1);
      //改变最后一位密钥
      inc[macmaked.length() - 1] = password[macmaked.length() - 1];
     }
     return password;//返回加密结果
    }
}

可能由于Java与SQL对字符的具体存取格式不同,所以不能仅仅通过上边的方法来实现对密码加密(否则在登录时会导致密码不匹配)。因此,在数据库中建立了一名为Change的表,该表只有一列(Exchange),并同时插入一个数据(任意数据),设置工作人员角色staff_role对该表具有Update和Select权限。通过该表,在工作人员登录系统时,先调用加密方法passwordMaker()对输入的密码进行加密,并将加密结果Update到表Change的ExChange列中,然后再重新取出(这样便实现了Java与SQL对字符的编码不同表示的转换)。最后将去出来的结果与Staff表中对应的Password比较,完全匹配便成功登录系统,否则给出相应的错误提示。
工作人员登录时程序所调用的方法编码如下:
public int staffLogin(String id,String pwd)
 {
  int result = 32767;
  Connection con;
  Statement stmt;
  //调用加密方法,对输入密码进行加密
  MyEncryption me = new MyEncryption();
  pwd = String.valueOf(me.passwordMaker(pwd));
  try{
   DBCon dbc = new DBCon();
   con = DriverManager.getConnection(dbc.url,"staff","123");
   stmt = con.createStatement();
   String query ;
   ResultSet rs ;
   /**
    * 实现sql和程序的字符转换
    */
   //向转换表插入数据
   query = "update Change " +
     "set ExChange = '"+ pwd +"';";
   stmt.executeUpdate(query);
   //读出插入后的数据
   query = "select ExChange from Change ;";
   rs = stmt.executeQuery(query);
   while( rs.next()){
    pwd = rs.getString("ExChange");
   }
   if(rs != null)
    rs.close();
   /**
    * 将转换后的密码与Staff表中的密码比较
    */
   query = "select Password,Type from Staff where ID = '"+id+"';";
   rs = stmt.executeQuery(query);
   while( rs.next()){
    String temp = rs.getString("Password");
    char[] pwdtemp = temp.toCharArray();
    char[] c_pwd = pwd.toCharArray();   
    if(pwdtemp.length == c_pwd.length)
    {
     int i = 0;
     for(;i < pwdtemp.length; i++)
     {
      if(pwdtemp[i] != c_pwd[i])
      {
       break;
      }
     }
     if(i == pwdtemp.length)
      result = Integer.parseInt(rs.getString("Type"));
    }
   }
   dbc.dbClose(con,rs);
  }
  catch(Exception e){
   e.printStackTrace();
  }
  return result;
 }7 系统测试方案和报告
测试方案:在编码过程中进行单元测试,客户管理、销售管理和售后服务管理三个模块的功能基本相同。在这里只给出销售管理模块的测试:
查询功能测试:
 查询售后编号为10000的售后服务信息:

上一页  [1] [2] [3] [4] [5] [6] [7] 下一页

JAVA商品销售管理系统(ER图+源代码) 第6页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。