权限典型应用 >> 权限之密码加密 >> 简单权限之密码加密

楼主
我是社区第55878位番薯,欢迎点我头像关注我哦~
本帖最后由 加菲喵 于 2015-9-10 16:27 编辑

移动端登录密码加密
1.描述
文档中的关于权限加密的部分是针对整个项目工程的即pc端与移动端保持一致的,但是有些系统因为重点是使用移动端的,虽然密码是加密的,但是pc端可以通过复制,但在移动端如果这样登录的话会很花时间,所以如果可以做到移动端密码加密后台进行,是十分的便利的。
2.准备工作
需要捕捉到移动端登录的前提下获取用户名和密码,并且对密码做加密处理,废话少说,直接代码。
package com.fr;

import com.fr.stable.CodeUtils;
import com.fr.stable.StringUtils;
import com.fr.web.utils.WebUtils;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Created by pan on 2015/7/17.
*/
public class mobileFilter implements Filter{

    public String CASPATH = "";
    public void init(FilterConfig filterConfig)throws ServletException{
    }
   
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)throws IOException, ServletException{
        
        HttpServletRequest req = (HttpServletRequest)servletRequest;
        HttpServletResponse res = (HttpServletResponse)servletResponse;

        String op = WebUtils.getHTTPRequestParameter(req,"op");
        String cmd = WebUtils.getHTTPRequestParameter(req,"cmd");

        /*移动端访问判断*/
if ((StringUtils.equalsIgnore(op,"fs_mobile_main","")) && (StringUtils.equalsIgnore(cmd,"login",""))){
            System.out.println("移动端登录");
            String passWord = WebUtils.getHTTPRequestParameter(req,"fr_password");
            System.out.println("明文密码是:"+passWord);
            
            /*调用自带的md5加密的方式*/
passWord = CodeUtils.md5Encode(passWord,null,"MD5");
            System.out.println("密文密码是:"+passWord);
            RequestWrapper newWrapper = new RequestWrapper(req,passWord);

            filterChain.doFilter(newWrapper,res);
        }else {
            filterChain.doFilter(req,res);
        }
    }

    public void destroy(){
    }
}
ps:我这边使用的是我们系统自带的MD5加密方式,具体的加密方式按照自己需求处理即可。同样,需要在web.xml部分加一个filter  
  <filter>  
       <filter-name>mobile</filter-name>  
       <filter-class>com.fr.mobileFilter</filter-class>  
   </filter>  

   <filter-mapping>  
       <filter-name>mobile</filter-name>
       <url-pattern>/ReportServer</url-pattern>
   </filter-mapping>
大概操作流程如下:



分享扩散:
参与人数 +1 F币 +375 理由
传说哥 + 375 赞一个!

查看全部评分

沙发
发表于 2015-8-27 10:58:03
楼主是要对移动端的密码处理做的文档 ,所以放在移动端模块比较好

另外。代码可以通过文件 或者 代码块插入
重要的是截图和最终效果
这样的话,文档才有最大的利用率
参与人数 +1 F豆 +50 理由
传说哥 + 50 赞一个!

查看全部评分

板凳
发表于 2015-8-29 11:29:18
实用性为0     楼主见过哪有登入框是要求你用 加密后 密码?   
华而不实
参与人数 +1 F豆 +30 理由
传说哥 + 30 赞一个!

查看全部评分

地板
发表于 2015-8-29 11:31:07
呵呵,比如你的应用是专门用于移动端的,而不需要pc端 加密工作就很重要。
5楼
发表于 2015-8-30 16:49:32
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

7回帖数 1关注人数 7347浏览人数
最后回复于:2015-8-30 16:49

返回顶部 返回列表