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", "链接无效!");
}
}
DES加密后get获取url参数无法解密问题的更多相关文章
- jquery获取url参数
js/jquery 获取url参数 2010年04月27日 星期二 13:45 js代码: function GetQueryString(name) { var reg = new RegExp(& ...
- Angularjs中使用$location获取url参数时,遇到的坑~~~
今天在开发时候,需要用到Angularjs1.4.6获取url参数,网上查了一下,有部分文章提到用$location来获取.大致方法如下 var app = angular.module('myApp ...
- js获取url参数的方法
js获取url参数的方法有很多. 1.正则分析 function getQueryString(name) { var reg = new RegExp("(^|&)" + ...
- get方法与post方法的区别与js获取url参数的方式
1.get方法与post方法的区别: 区别一:get重点在从服务器上获取资源,post重点在向服务器发送数据:区别二:get传输数据是通过URL请求,以field(字段)= value的形式,置于UR ...
- .NET手记-JS获取Url参数
最近为App做活动专区,其中很多活动都是采用html 5页面来制作的.一方面体量较小,制作快速,更新维护容易:另一方面,嵌入App后适配效果也不会很差. 这里我们采用混编形式来从native app传 ...
- python测试开发django-4.获取url参数和name的作用
前言 如打开博客园按时间分类标签页[https://www.cnblogs.com/yoyoketang/archive/2018/10.html],里面是时间参数是动态的,如果我想获取里面的时间参数 ...
- angular6 路由拼接查询参数如 ?id=1 并获取url参数
angular6 路由拼接查询参数如 ?id=1 并获取url参数 路由拼接参数: <div class="category-border" [routerLink]=&qu ...
- js获取url参数、图片转本地base64跨域问题
获取url参数是经常需要用的一个方法,url上的参数可以让我们的程序执行更灵活. 图片转本地也是很实用的,因为海报合成通常只支持本地. 下面我们来看看这些功能的实现: 获取所有参数,采用split拆分 ...
- js 获取url参数的值
//获取url参数函数function GetQueryString(name){ var reg = new RegExp("(^|&)"+ name +" ...
随机推荐
- window FILES——windows文件管理相关实例
C语言下有一套文件管理方案.C++语言下也有一套自己的文件管理方案.windows系统当然也有自己的一套文件管理方案啦.对于普通char类型为基础的字符使用哪种方案的解决办法都是一样的,但是对于宽字符 ...
- 3D Game Programming with directx 11 习题答案 8.2
第八章 第二题 1.首先找到Directx Texture Tool,它位于 2.填入配置 3.用画图工具画好每个level的图片,例如level0 4.用Directx Texture Tool添加 ...
- Codeforces 551D GukiZ and Binary Operations(矩阵快速幂)
Problem D. GukiZ and Binary Operations Solution 一位一位考虑,就是求一个二进制序列有连续的1的种类数和没有连续的1的种类数. 没有连续的1的二进制序列的 ...
- 24种设计模式--抽象工厂模式【Abstract Factory Pattern】
女娲造人,人是造出来了,世界是热闹了,可是低头一看,都是清一色的类型,缺少关爱.仇恨.喜怒哀乐等情绪,人类的生命太平淡了,女娲一想,猛然一拍脑袋,忘记给人类定义性别了,那怎么办?抹掉重来,然后就把人类 ...
- mysql5.5提示Deprecated: mysql_query(): The mysql extension is deprecated
解决方法1:在php程序代码里面设置报警级别 <?php error_reporting = E_ALL & ~E_DEPRECATED 方法2:禁止php报错 display_erro ...
- table 添加右键,并获取选中行信息
import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.ActionEvent; import java. ...
- Attributes(2): Displaying attributes for a class.(显示类属性)
输出类属性 using System; using System.Reflection; namespace Attribute02 { //用于Class和Struct类型 [Attribu ...
- 外包如何安排人手-b
前几天跟一位做人事的朋友聊天,说起软件行业人员问题.朋友的公司是做软件外包的.一个APP项目基本配置6-7个人,每个Android.ios.后台都各配2人以上,但是项目各种超期.各种无法交付.各种客户 ...
- SendMail
public ActionResult SendMail() { MailMessage mss = new MailMessage(); mss.From = new MailAddress(&qu ...
- Nginx配置免费SSL证书StartSSL,解决Firefox不信任问题
先在StartSSL上申请免费一年的SSL证书,具体过程网上很多教程.然后把申请到的key和crt文件上传到服务器,比如/usr/local/nginx/certs/. Nginx配置SSL证书 直接 ...