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";
        }
    
    }

  • 相关阅读:
    解读:MultipleOutputs类
    hadoop2对应的eclipse插件使用
    MR案例:外连接代码实现
    Navicat for MySQL下载、安装与破解
    MySQL数据库安装与配置详解
    堡垒机2
    堡垒机
    MySQL主键和外键使用及说明
    待续--mysql中key 、primary key 、unique key 与index区别
    ORM框架SQLAlchemy使用学习
  • 原文地址:https://www.cnblogs.com/Michael2397/p/7637055.html
Copyright © 2011-2022 走看看