java 接口数据加密_java后台接口数据是如何加密传输的

705b08b7ae201c02e8abe7d27fc10fbb.png

侃侃无极

一般情况你看到的应该不算是"加密" 而是"URL编码" (大多数情况)。"URL编码"通常是为了处理参数里有不可用字符的问题。比如下载时http://localhost/download?filename=新建文档+备份 副本.doc 这样的连接必然会有问题,中文会乱码,加号会被当作连接符,而空格会被服务器当作结束,剩下的内容就被丢弃了。所以你后台接到的请求实际上会是这样 http://localhost/download?filename=??????即便你后台强制转码new String(filename.getBytes("iso-8859-1"),"UTF-8") 那也只会是http://localhost/download?filename=新建文档备份为了解决这样的问题所以就会用到URL编码,他的作用其实和html的实体字符一个意思,就是为了不让浏览器/服务器自作多情的进行解析。而且后台的服务器一般都可以自动处理URL编码,将他们还原回原来的字符串,所以你获取参数时一般不需要你手动解码,直接可以获取到解码后的原字符串。在java里可以用java.net.URLEncoder.encode(str,charset)实现;例如刚刚那个用java可以这样写response.sendredirect("http://localhost/download?filename=" + URLEncoder.encode("新建文档+备份 副本.doc","UTF-8"));最终显示就会是这个样子http://localhost/download?filename=%e6%96%b0%e5%bb%ba%e6%96%87%e6%a1%a3%2b%e5%a4%87%e4%bb%bd+%e5%89%af%e6%9c%ac.doc

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值