zoukankan      html  css  js  c++  java
  • DES加密后get获取url参数无法解密问题

    参考:http://www.cnblogs.com/lori/archive/2011/09/08/2170979.html

    问题,就是URL编码问题,如果不对URL进行编码直接加码,那么在解码时,如果字符串存在“+”这种特殊符号,在解码时会出它替换成“ ”,此时在解密就会无法解开,导致错误的结果。

    本人解决方法:

    先对字符先加密再url编码,这时不会出现+号等字符,然后获取参数后 直接 解密(因为获取的参数就没有%之类的了)即可,注意,此处我也不明白,估计是浏览器 自动 url解码了??

    部分代码如下:(具体des加密解密代码和url加密解密代码可查看之前的问题)

    加密:

    long endTimes = System.currentTimeMillis()+1*24*3600*1000;
    String para = personname+";"+email+";"+endTimes;
    //先加密,再url转码,顺序不能修改
    String encode = UrlUtil.getURLEncoderString(DesUtil.encrypt(para));

    解密:

    String vc = context.getParameter("vc");
            if(null!=vc){
                try {
                    //直接des解码
                    String decode = DesUtil.decrypt(vc);
                    List list = EmailUtil.parseContent(decode, ";");
                } catch (Exception e) {
                    e.printStackTrace();
                    context.setRequestAttribute("errorMsg", "链接无效!");
                }
            }
  • 相关阅读:
    node 命令
    nodejs项目搭建
    linux 安装与配置
    GestureDetector
    activity切换效果
    hadoop
    phonegap 自定义插件
    自定义控件-属性自定义
    zxing demo
    select 语句的执行顺序
  • 原文地址:https://www.cnblogs.com/haha12/p/4345053.html
Copyright © 2011-2022 走看看