java url 加密_URL编码 - Java加密与安全

39358

JAVA的URL编码

我们先看看什么是编码?

ASCII码就是一种编码,A的编码是16进制的0x41,字母B的编码是0x42,而中文的中是用Unicode编码,中就是0x4e2d,

用UTF-8编码,需要3个字节的编码,它会变成0xe4b8ad

39358然后我们再来看一下什么是URL编码?

URL编码是浏览器发送数据给服务器的时候使用的编码,我们的地址栏可以看到类似于key1=value1&key2=value2这样的URL

39358那URL的编码规则是什么呢?

首先大写字母A到Z,小写字母a到z,0到9,以及.-*保持不变,而其他的字符以百分号开头的16进制来表示,

例如小于号

import java.net.URLDecoder;

import java.net.URLEncoder;

/**

* 我们演示一下如何使用URL编码

* @author Leon.Sun

*

*/

public class SecURLDemo {

public static void main(String[] args) throws Exception {

String original = "URL 参数";

/**

* 首先我们使用URLEncoder.encode方法对一个字符串进行编码

* 同时需要指定字符集编码UTF-8

*/

String encoded = URLEncoder.encode(original,"UTF-8");

/**

* URL+%E5%8F%82%E6%95%B0

* 通过结果我们可以看到,

* 英文字母保持不变,而空格会变为+

* 中文就会变为百分号16进制

* 一个中文经过UTF8编码以后通常是3个字节

* 所以一共有6个百分号开头的16进制的编码

* 另外我们要注意,JAVA的URLEncoder

* 和URL的编码标准,

* 稍微有点不同

* 空格被编码为加号

* 而现在的URL标准要求空格编码为百分号20

* 不过一般的服务器

*/

System.out.println(encoded);

/**

* 如果我们要把URL的字符串,还原为原始的字符串

* 我们通过URLDecoder.decode方法来实现

*

*/

String ori = new String(URLDecoder.decode(encoded, "UTF-8"));

/**

* URL 参数

*/

System.out.println(ori);

}

}1. URL编码是一种编码算法,不是一种加密算法,

2. URL编码的目的是把任何的文本数据编码为百分号前缀表示的文本,编码后的文本仅包含大小写字母A-Z,a-z,

0-9,-_.*,%,就是为了便于浏览器和服务器处理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值