前言:
这是我在使用response.sendRedirect(跳转链接+加密后拼接的参数),对方接口是将我传的appid,和时间戳,根据appid获取到相应的密钥,进行加密,比较和我加密的是一致,但是就会出现,有时候加密是一致的,有时候加密是不一致的,排查加密包和jdk版本之后,就看了下发的请求,发现请求拼接的时候有一个%201类似的编译后的编码字符.导致我自己加密的和他加密不一致,这个是因为参数的原因有时候会编译成特殊字符,验证不同过,经过查阅资料得到以下解决代码,记录方便遇到此类问题的小伙伴借鉴.
//加密sign
URLEncoder.encode(sign);
//解密sign特殊字符转义
URLDecoder.decode(sign);