首页 > java后台接口数据是如何加密传输的

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

看到很多url的参数值是一长串看不懂的字符串,肯定是加密了。那么java服务器一般是怎么做的呢?


url 里可以base64编码
不过base64不是加密算法
网上有可逆的加密算法,你百度下吧


每个业务逻辑都不一样,得看具体的场景:
一般的,url加密处于以下目的(欢迎补充):
1 base64编码保护由于&等引起的截断攻击
2 对称加密保护敏感数据,在服务器端可解析,Token的一种可能但不是唯一的实现原理
3 (md5等)hash加密做签名保护另一个数据的完整性
4 政策规定必须加密
5 URL唯一,这时候加密的参数是全球唯一的,这个可以在订单啊,啥里面用
6 混淆视听的加密,这个其实没啥用,加密玩的
......
在服务器端,一般是两种:

具体实现怎么加密,自己写一个试试就知道了。

一种简单的对称加密算法的原理是:
假如A需要加密,A{en}B=>C 此时发送C,服务器得到C后,通过C{de}B得到A。这个是两方都持有解钥的。还有非常多的实现,这个最low。


一般情况你看到的应该不算是"加密" 而是"URL编码" (大多数情况)。
"URL编码"通常是为了处理参数里有不可用字符的问题。

比如

为了解决这样的问题所以就会用到URL编码,他的作用其实和html的实体字符一个意思,就是为了不让浏览器/服务器自作多情的进行解析
而且后台的服务器一般都可以自动处理URL编码,将他们还原回原来的字符串,所以你获取参数时一般不需要你手动解码,直接可以获取到解码后的原字符串。

在java里可以用java.net.URLEncoder.encode(str,charset)实现;

【热门文章】
【热门文章】