java URL 编码解码

我写了两个接口 一个是对字符串加密 的,一个是解密的  。加密的可以通过调用接口生成加密字符串如下:

Oc0PEwKrLzHqT25hYLhWP5wlk5HROPJoWC3chlqMHBoxLQ/WUcbKwsamjy+N2RsBDwFnFegg1tQXmuvWUcuxIMKwMC8RCjWjgVVCH385LBiXkGLM+q9hhlfEMjavM0vHfvx02/Af+njixF7M2yuVmf6lhH2BnQ2j4sR12HvfRHbDnzKQbhrydNh7k90qB43B

可是解密的时候 在MAIN方法测试可以解密,但是通过URL调用接口的时候就出错了 ,听说是url编码问题 不太了解,如下是解密的接口:/**

* 对密钥解密

* @param enStr

* @return

* @throws Exception

*/

@ResponseBody

@RequestMapping(value="/deCryptKey/{enStr}",method=RequestMethod.GET)

public String deCryptKey(@PathVariable("enStr") String enStr) throws Exception{

//enStr = new String(enStr.getBytes("iso-8859-1"),"utf-8");

//enStr = java.net.URLDecoder.decode(enStr,"utf-8");

String deStr = KmService.deCryptKey(enStr);

return deStr;

}

------解决思路----------------------

你可以尝试用URLEncoder再加密一次。

------解决思路----------------------

没猜错的话,你应该是

加密:字符串->url传输->加密后的字符串

解密:解密后的字符串->url传输->字符串

很明显在url编码的时候出了问题,用spring框架么,问题是比较多的,别特是其内部写死了编码方式,so你需要两部操作

server.xml添加

web.xml添加

EncodingFilter

org.springframework.web.filter.CharacterEncodingFilter

encoding

UTF-8

forceEncoding

true

EncodingFilter

*.action

EncodingFilter

*.jsp

------解决思路----------------------

把已经加密的字符串再编码一次,获取到后再解码

//step1

String code= "Oc0PEwKrLzHqT25hYLhWP5wlk5HROPJoWC3chlqMHBoxLQ/WUcbKwsamjy+N2RsBDwFnFegg1tQXmuvWUcuxIMKwMC8RCjWjgVVCH385LBiXkGLM+q9hhlfEMjavM0vHfvx02/Af+njixF7M2yuVmf6lhH2BnQ2j4sR12HvfRHbDnzKQbhrydNh7k90qB43B

"

//编码

String urlEnCode = URLEncoder.encode(code,"UTF-8");

//step2

//解码

String urlDeCode = URLDecoder.decode(urlEnCode,"UTF-8");

//再解码

String deStr = KmService.deCryptKey(enStr);

java url加密解密,java URL 编码解码,该如何解决相关推荐

  1. 在线BASE64加密解密、UrlEncode编码/解码、native/ascii在线转换工具 -toolfk程序员工具网

    本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果.Tool ...

  2. java url加密解密,Java加密解密 -Jasypt

    1. download url http://www.jasypt.org/download.html 2. 依赖 jar jasypt-1.9.0.jar 3. 加密 // 默认加密/解密算法是 P ...

  3. 在线XXEncode加密/解密(XXEncode编码/解码)工具

    在线XXEncode加密解密工具,提供XXEncode编码(XX编码).XXencode解码(XX解码).以及XXencode编码原理介绍.编码算法说明. 工具链接:http://www.atoolb ...

  4. 常见加密解密和URL编解码

    常见加密解密和URL编解码 Base64 概念: 基于64个可打印字符,用于表示二进制数据,使用的字符包括大小写拉丁字母各26个.数字10个.加号+和斜杠/,共64个字符,等号=用来作为后缀用途 2^ ...

  5. 【PHP】URL加密解密(可逆)

    URL加密解密(可逆) 加密:urlencode urlencode ( string $str ) : string 此函数便于将字符串编码并将其用于 URL 的请求部分,同时它还便于将变量传递给下 ...

  6. Java DES 加密解密

    1.加密的相关概念 1.明文:被隐蔽的消息称作明文(plaintext) 2.密文:隐蔽后的消息称作密文(ciphertext) 3.加密:将明文变换成密文的过程称作加密(encryption) 4. ...

  7. java字符串加密解密

    2019独角兽企业重金招聘Python工程师标准>>> java字符串加密解密try {String test = "123456789@fdj.com";Enc ...

  8. java 字符串加密 解密_java字符串加密解密

    java字符串加密解密 try { String test = "123456789@fdj.com"; EncryptionDecryption des = new Encryp ...

  9. 各种加密解密函数(URL加密解密、sha1加密解密、des加密解密)

    普通hash函数如md5.sha1.base64等都是不可逆函数.虽然我们利用php可以利用这些函数写出可逆函数来.但是跨语言时这类可逆函数非常难搞定.所以这时尽量使用AES DES RC4 Rabb ...

最新文章

  1. 开发工程师面试自我介绍_30道经典面试题,靠它我在一线拿到了20k的前端开发工程师岗位...
  2. C语言代码规范(八)使用const修饰值不允许改变的变量
  3. oracle之数据处理之其他数据库对象
  4. 计算几何——圆卡精度cf1059D
  5. OPC DA通讯 KEP6.4 DCOM 配置脚本
  6. T-SQL中的透视和逆透视
  7. asio::io_service被废弃的问题
  8. 批标准化(batch normalization)与层标准化(layer normalization)比较
  9. Viso各版本网盘免费下载
  10. WPF框架下,窗体的嵌套显示
  11. PS如何设置打印尺寸显示图像和实际纸张大小一致
  12. JDK.attach 包解析
  13. 世界排名前100的古典音乐榜单
  14. 打开Windows自带的画图工具
  15. Windows下使用Hexo+GithubPage搭建博客
  16. 根据生日定时发送生日祝福邮件
  17. MTTF,MTBF,MTRF的概念
  18. svn 命令行创建分支、合并主干
  19. UG\NX二次开发 获取当前工作部件 UF_ASSEM_ask_work_part
  20. PlotlyDash中dcc学习

热门文章

  1. [Js]删除数组指定元素
  2. Android 开发杂记
  3. /etc/fstab 文件解释
  4. 负载过高之外网抓数据
  5. 文字输入限制_输入框设计,设计样式及设计要点
  6. 8188无线网卡驱动linux,rtl8188eu linux驱动
  7. hibernate mysql 设置时区_Hibernate连接MYSQL失败提示时区错误该怎么解决?
  8. java生成和读取keystore_Java程序员必知:mybaties运行流程
  9. android手机数字取证,基于Android智能终端微信应用的数字取证分析模型的研究
  10. 判断某值是否属于枚举类中的值_编写高质量可维护的代码之优化逻辑判断