1. 程式人生 > >廖雪峰Java10加密與安全-2加密算法-1URL編碼

廖雪峰Java10加密與安全-2加密算法-1URL編碼

array https origin 分享圖片 str public ava src 表示

1.URL編碼

URL編碼是瀏覽器發送數據給服務器時使用的編碼。
如通過百度搜索美女:

  • 編碼前:https://www.baidu.com/s?wd=美女
  • 編碼後:https://www.baidu.com/s?wd=%E7%BE%8E%E5%A5%B3

URL編碼規則:

  • A-Z, a-z, 0-9以及-_.*保持不變
  • 其他字符以%XX表示
    * < -> %3C
    * (UTF-8: 0xe4b8ad) -> %E4%B8%AD
    * 空格有2種,一種是+(以前),另一種是%20(現在),目前的服務器都可以解析這兩種方式
public class SplitString {
    public static void main(String[] args) throws Exception{
        String original = "URL參數";
        //編碼後
        String encoded = URLEncoder.encode(original,"UTF-8");
        System.out.println("編碼後:"+encoded);
        //解碼
        String ori = new String(URLDecoder.decode(encoded,"UTF-8"));
        System.out.println("解碼後:"+ori);
        char[] cs = original.toCharArray();
    }
}

技術分享圖片

2.總結:

  • URL編碼是編碼算法,不是加密算法
  • URL編碼的目的是把任意文本數據編碼為%前綴表示的文本,編碼後的文本僅包含A-Z, a-z, 0-9, -_.*,%,便於瀏覽器和服務器處理

廖雪峰Java10加密與安全-2加密算法-1URL編碼