我的百度空间 我的51CTO空间 我的163空间

[入门]永远的用户登录 - 学习中

安装mysql 并下载mysql-connector-java 并把里面的jar放到 C:\Program Files\Java\jdk1.6.0_10\(前面是jdk路径)jre\lib\ext

先创建dabase - onepc 然后

create table users
(
userid VARCHAR(32) not null primary key, #用户登录id
userpass varchar(32) not null, #用户密码  md5(md5+rand) = 先把密码用md5加密 然后再把加密后的与8位随机码拼接之后再用md5加密
randomstr varchar(8) not null #8位随机码
)

MyFunc.java

package wen.func;
//import java.sql.*;
import java.util.Random;
import java.security.MessageDigest;

public class MyFunc {
private static char chartable[] = {'~','!','#','$','%','^','&','0','1','2','3','4','5','6','7','8','9','@','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','+','_','-','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
private String strRandom;
//private String strMd5;

public MyFunc()
{
setRand();
}

public static String MD5(String source)
{ //byte[] source
//String temp;
try{
MessageDigest md = MessageDigest.getInstance("MD5");
md.update( source.getBytes() );
StringBuffer buf=new StringBuffer();
for(byte b:md.digest())
buf.append(String.format("%02x", b&0xff) );
return buf.toString();
//temp = buf.toString()
}catch( Exception e ){
e.printStackTrace();
return null;
//temp = null;
}
//this.strMd5 = temp;
}

public void setRand()
{
StringBuffer str= new StringBuffer();
Random rd = new Random();
for(int i=0;i<8;i++)
{
str.append(chartable[rd.nextInt(chartable.length)]);
}
this.strRandom=str.toString();
}

public String getRand()
{
return this.strRandom;
}

}

 

package wen.odata;
import java.sql.*;

public class MyOData {
private static final String DBDRIVER = "org.gjt.mm.mysql.Driver";
private static final String DBURL = "jdbc:mysql://localhost:3306/onepc";
private static final String DBUSER = "root";
private static final String DBPASS="root";
private Connection conn = null;
//private PreparedStatement pstmt = null;
//private ResultSet rs=null;

public MyOData() throws Exception
{
try
{
Class.forName(DBDRIVER);
this.conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
}catch (Exception e)
{
throw e;
}
}

public void close() throws Exception
{
if(this.conn!=null)
{
try
{
this.conn.close();
}catch(Exception e)
{
throw e;
}
}
}

public void AddUser(String user,String pass,String rand) throws SQLException
{
PreparedStatement pstmt = null;
String sql = "insert into users(userid,userpass,randomstr) values(?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,user);
pstmt.setString(2, pass);
pstmt.setString(3, rand);
pstmt.executeUpdate();
pstmt.close();
}



}

 

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="wen.func.*"%>
<%@ page import="wen.odata.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
</head>

<body>

<%
//MyFunc a = new MyFunc();
//out.println(a.getRand());
String user = request.getParameter("user");
String pass = request.getParameter("pass");
String random = request.getParameter("random");
pass
= MyFunc.MD5(pass);
out.println(pass
+"<br>");
pass
= pass+random;
out.println(pass
+"<br>");
pass
= MyFunc.MD5(pass);
out.println(pass
+"<br>");
MyOData add
= new MyOData();
add.AddUser(user,pass,random);
%>

</body>
</html>



posted on 2012-01-11 14:03  心若冰清  阅读(846)  评论(2编辑  收藏  举报

导航