求助!!有哪位能帮我解决这个问题?小弟在这里谢谢了!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【wanghongyu243】截止到2008-07-26 14:12:08的历史汇总数据(不包括此帖):
    发帖的总数量:0                        发帖的总分数:0                        每贴平均分数:0                        
    回帖的总数量:0                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:---------------------结分的百分比:---------------------
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    随便自己创造的
    比如你可以把密码getbyte(),再把byte数值前后倒置,就生成了新密码。解密就做相反的操作。最多的解密技术还是调用java的MD5,不过MD5不能解密的。
      

  3.   

    有个开源组件不错,jasypt,一个简单的加密解密示例:
    BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
    textEncryptor.setPassword(myEncryptionPassword);  //设置密码
    String myEncryptedText = textEncryptor.encrypt(myText); //加密
    ...
    String plainText = textEncryptor.decrypt(myEncryptedText); //解密具体可以查看官网http://www.jasypt.org/
      

  4.   

    数据库里保存密码的 MD5 码(参见 java.security.MessageDigest),登录时拿提交过来的密码计算其 MD5 码然后跟数据库的比较。
      

  5.   

    请问楼上的sagezk,那修改密码怎么办?
      

  6.   

    我是用的oracle数据库,它本身有个加密的函数,所以我是用它做的
      

  7.   


    如果老密码输入正确就拿新密码的 MD5 替代老密码的 MD5 存入数据库。
      

  8.   

    呵呵!~
    兄弟,这个问题我换可以说点。正如6楼说的没必要解密。验证一下就可以了。
    我是按照MVC模式写的:加密部分(网上有,我稍作改动):
    《JAVA上加密算法的实现用例》原文地址:
    http://www.ibm.com/developerworks/cn/java/l-security/    牛人写的。我这个就是改编自他写的。md5reg.javapackage tdy218.md5;
    import java.security.*;public class md5reg
    {
     byte[] digest;String tmp="",has="";
    public  String hasString(String password)   //这里作了修改 
    {
    try {   
         MessageDigest md5 = MessageDigest.getInstance("MD5"); //SHA-1跟MD5写法上差不多。
        
         md5.update(password.getBytes());     // 添加要计算的摘要信息   
       
         digest = md5.digest();
         }
     catch(NoSuchAlgorithmException e) 
         {   
          System.out.println("非法摘要算法!"+e.getMessage());   
         } 
    for(int i=0;i<digest.length;i++) 
         {   
           tmp=(Integer.toHexString(digest[i] & 0XFF));   
           if(tmp.length()==1)    
               has=has+i+tmp;    //这里也做了修改
           else   
               has=has+tmp;   
           if(i<digest.length-1)  
               has=has+i;        //这里又做了修改
          } 
    return has.toUpperCase(); 
    }}
    控制器(Servlet)Loginhandle.java代码:package tdy218.md5;import tdy218.md5.md5reg;
    import tdy218.md5.Loginbean;import java.io.*;
    import java.sql.*;
    import javax.servlet.*;
    import javax.servlet.http.*;public class Loginhandle extends HttpServlet
    {
    public void init(ServletConfig config) throws  ServletException 
       {
       super.init(config);
       }
    public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
       {
        response.setContentType("text/html;charset=gbk");
        HttpSession session = request.getSession(true);
       
        Connection con = null;
        PreparedStatement  ps = null;
        ResultSet rs = null;
       
        md5reg md5 = new  md5reg();
        Loginbean  login = new  Loginbean();
        request.setAttribute("land",login);
        PrintWriter  show = response.getWriter();
       
        String username = request.getParameter("username").trim();
        String password = request.getParameter("password").trim();
        String checkcode = request.getParameter("checkcode").trim();
        String rand = (String)session.getAttribute("rand");
       
        if(username==null||username.equals(""))
        {
         show.print("<script language=javascript>alert('用户名不能为空!~');");
         show.print("history.go(-1);</script>");
        }
        else if(password==null||password.equals(""))
        {
          show.print("<script language=javascript>alert('请输入密码!~');");
          show.print("history.go(-1);</script>");
         }
         else if(checkcode==null||checkcode.equals(""))
         {
          show.print("<script language=javascript>alert('请输入验证码!~');");
          show.print("history.go(-1);</script>");
         }
         else if(checkcode.equals(rand)==false)
         {
          show.print("<script language=javascript>alert('你输入的验证码有误,请重新输入!~');");
          show.print("history.go(-1);</script>");
         }
         else
         {
         try
         {
          String md5pwd = md5.hasString(password); 
          
          Class.forName("com.mysql.jdbc.Driver").newInstance();
          String uri = "jdbc:mysql://127.0.0.1:3306/admin?characterEncoding=utf-8";
          con = DriverManager.getConnection(uri,"root","soft");
          
          String sql = "select  username,password  from md5landing  where username=?";
          ps = con.prepareStatement(sql);
          ps.setString(1,username);  
         //防止SQLInjection方法之一,功能正在加强。这几天正在做URL过滤,做好了我发到博客里。感兴趣的留一下喽。
          rs = ps.executeQuery();
          while(rs.next())
            {
             String pwd = rs.getString("password");
             if(pwd.equals(md5pwd))
              {
               login.SetUsername(username);
               login.SetPassword(password);
               login.SetMd5pwd(md5pwd);
               RequestDispatcher  dispatcher = request.getRequestDispatcher("loginresult.jsp");//转发
               dispatcher.forward(request,response);
              }
             else
              {
              show.print("<script language=javascript>alert('用户不存在或密码错误,请重新输入!~');");
               show.print("history.go(-1);</script>");
              }
            }
          
          ps.close();
          con.close();
          }
         catch(Exception e)
         {
          show.print("发生异常:"+e.getMessage());
         //show.print("<script language=javascript>alert('发生异常,请联系网站管理员!~');");
         //show.print("history.go(-1);</script>");
         }
         
        }//else语句的结尾。   }//doPost方法的结尾。
       
    public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
        {
         doPost(request,response);  
        }
    }视图、模型Bean就不用发了吧?用IDE之类的工具很快就写成了。
    我的还加了验证码。代码太多了,还有注册模块。这里就发这么多吧。感兴趣的在我空间里留言,留下E-mail 
      

  9.   

    tdy218可以给我发一下全部的代码吗?我是初学者,请多多关照。