日期:2014-05-19  浏览次数:20580 次

求个java 叫加密解密算法!大家帮帮忙,在线等!
比如:把一个用户存到数据库之前进行加密,取出来进行解密才能得到想要的数据。

------解决方案--------------------
你要哪种加密?des对称加密还行?
------解决方案--------------------
这个网上多的是简单的就是移位,还有MD5加密,解密。。。
------解决方案--------------------
一般是MD5~加密密码~~MySql有自带的加密函数
------解决方案--------------------
探讨
这个网上多的是简单的就是移位,还有MD5加密,解密。。。

------解决方案--------------------
能加密有啥用?你的密钥怎么保管?
------解决方案--------------------
算法很多,只要保证加密解密一致就可以了
保存数据前,调用一下加密encode方法,再保存
获取数据时,调用一下解密decode方法,再显示
怎么加密怎么解密可以自由发挥,需要现成的加密解密算法,直接谷哥或百度就可以了

------解决方案--------------------
Java code

else if(action.equals("/regist")){
            String username=request.getParameter("username");
            String name=request.getParameter("name");
            String pwd=request.getParameter("pwd1");
            String sex=request.getParameter("sex");
            String number=request.getParameter("number");
            HttpSession session=request.getSession();
            String number1=(String) session.getAttribute("number");
            //System.out.println(number+" "+number1);
            if(!number.equals(number1)){
                request.setAttribute("error", "验证码错误,请重新输入");
                request.getRequestDispatcher("regist.jsp").forward(request, response);
                return;
            }
            MessageDigest md;
            String Pwd = null;
            try {
                md = MessageDigest.getInstance("MD5");
                byte[] buf=md.digest(pwd.getBytes());
                BASE64Encoder encoder=new BASE64Encoder();
                Pwd=encoder.encode(buf);
            } catch (NoSuchAlgorithmException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            
            User u=new User();
            u.setUsername(username);
            u.setName(name);
            u.setPwd(Pwd);
            u.setSex(sex);
            EmployeeDao dao=(EmployeeDao) DAOFactory.getInstance("EmployeeDao");
            try {
                dao.regist(u);
                request.getRequestDispatcher("login.jsp").forward(request, response);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    }

------解决方案--------------------
密码类型的 一般用11楼所说的那样
------解决方案--------------------
探讨

引用:

加密分為可逆不可逆,你要那種?



不好意思,这个我不懂,能解释下吗?

------解决方案--------------------
可以用DES或者TDES等等,都行,
------解决方案--------------------
简单的例子把字符与密钥在例子里是'*'做^运算,就能实现一个简单的加密解密了,当然还可以加一些换位或者加减
Java code
    public static void md5(String src) {

        char psw = '*';

        char srcArray[] = src.toCharArray();
        System.out.print("加密后:");
        for (int i = 0; i < src.length(); i++) {
            srcArray[i] = (char) (srcArray[i] ^ psw);
            System.out.print(srcArray[i]);
        }
        System.out.println("");
        System.out.print("加密前:");
        for (int i = 0; i < src.length(); i++) {
            srcArray[i] = (char) (srcArray[i] ^ psw);
            System.out.print(srcArray[i]);
            
        }
        System.out.println();
    }