zoukankan      html  css  js  c++  java
  • (五)密码加密

    package com.louis.utils;
    
    import java.math.BigInteger;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    
    public class MD5Utils {
        /**
         * 使用md5加密
         */
        public static String md5(String plainText) {
            byte[] secretBytes = null;
            try {
                //普通的字符串转化成数组
                secretBytes = MessageDigest.getInstance("md5").digest(
                        plainText.getBytes());
            } catch (NoSuchAlgorithmException e) {
                throw new RuntimeException("找不到md5实例");
            }
            String md5code = new BigInteger(1, secretBytes).toString(16);
            
            for (int i = 0; i < 32 - md5code.length(); i++) {
                md5code = "0" + md5code;
            }
            return md5code;
        }
    /*    //和数据库的加密一样,同一个字符串通过md5加密,结果是一样的
        public static void main(String[] args) {
            System.out.println(md5("123"));
        }*/
    }
    package com.louis.web.servlet;
    
    import java.io.IOException;
    import java.util.Date;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.commons.beanutils.BeanUtils;
    import org.apache.commons.beanutils.ConvertUtils;
    
    import com.louis.domain.User;
    import com.louis.myconvertor.MyConverter;
    import com.louis.service.UserService;
    import com.louis.service.impl.UserServiceImpl;
    import com.louis.utils.MD5Utils;
    import com.louis.utils.UUIDUtils;
    
    /**
     * 和用户相关的servlet
     */
    
    public class UserServlet extends BaseServlet {
        
        
        public String add(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            System.out.println("userServlet的add方法执行了");
            return null;
        }
        //调转到注册页面
        public String registUI(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            return "/jsp/register.jsp";
        }
        
        //完成注册
        public String regist(HttpServletRequest request,HttpServletResponse response) throws Exception {
            //1封装数据
            User user = new User();
            
            //注册自定义转化器
            ConvertUtils.register(new MyConverter(), Date.class);
            
            BeanUtils.populate(user, request.getParameterMap());
            
            //1.1设置用户id
            user.setUid(UUIDUtils.getId());
            
            //1.2设置激活码
            user.setCode(UUIDUtils.getCode());
            
            //1.3加密密码
            user.setPassword(MD5Utils.md5(user.getPassword()));
            
            //2调用service完成注册
            UserService service = new UserServiceImpl();
            service.regist(user);
            
            
            //页面请求转发
            request.setAttribute("msg", "用户已注册,请去邮箱激活");
            return "/jsp/msg.jsp";
        }
    
    }

  • 相关阅读:
    如何禁止复制网页内容?(javascript)
    CSS实现的div仿制Textarea效果
    C/S WinForm自定义控件实现B/S菜单样式
    ER/Studio 数据库建模
    设为首页JS,加入收藏夹js,加入收藏夹代码,设为首页代码,火狐和ie兼容
    entity framework进行一对多的联合查询
    增加asp.net应用程序性能的19种方法
    MVC Models定义验证属性
    [导入]linq与xml
    Entity Framework 批量删除
  • 原文地址:https://www.cnblogs.com/Michael2397/p/7637055.html
Copyright © 2011-2022 走看看