A. 針對url的加密與解密
encodeURIComponent(string)加密,decodeURIComponent(string)解密
city: encodeURIComponent(`'${this.cityVal}'`)//this.cityVal為要加密的中文
let href = util.getUrlParam('city')
console.log('解析url地址1=====',href)
console.log('解析url地址2=====',decodeURIComponent(href))
console.log('解析url地址2=====',decodeURIComponent(decodeURIComponent(href)))//需解析兩層
B. url的編碼和解碼方式
url的在線編碼和解碼工具: http://tool.chinaz.com/tools/urlencode.aspx
1、基本知識
URLEncode:是指針對網頁url中的中文字元的一種編碼轉化方式,最常見的就是Bai、 Google等搜索引擎中輸入中文查詢時候,生成經過 Encode過的網頁URL。URLEncode的方式一般有兩種一種是傳統的基於GB2312的Encode(Bai、Yisou等使用),一種是 基於UTF-8的Encode(Google,Yahoo等使用)。本工具分別實現兩種方式的Encode與Decode。
中文 -> GB2312的Encode -> ����
中文 -> UTF-8的Encode -> 中文
Html中的URLEncode:
編碼為GB2312的html文件中,
http://ud03.kinoko.name/中文.rar -> 瀏覽器自動轉換為 -> http://ud03.kinoko.name/����.rar
注意顫氏:Firefox對GB2312的Encode的中文URL支持不好,因為它默認是UTF-8編碼發送URL的,但是ftp://協議可以,我試過了.我認為這應該算是Firefox一個bug.
編碼為UTF-8的html文件中,
http://ud03.kinoko.name/中文.rar -> 瀏覽器自動轉換為 -> http://ud03.kinoko.name/中文.rar
PHP中的URLEncode:
//GB2312的Encode
echo urlencode(「中文搏洞粗-_. 「).」\n」; // ����-_.+
echo urldecode(「����-_. 「).」\n」; //中文-_.
echo rawurlencode(「中文-_. 「).」\n」; // ����-_.
echo rawurldecode(「����-_. 「).」\n」; //中文-_.
?>
除了 -_. 之外的所有非字母數字字元都將被替換成百分號(%)後跟兩位十六進制數。
urlencode和rawurlencode的區別:
urlencode 將空格則編碼為基鎮加號(+)
rawurlencode 將空格則編碼為加號( )
如果要使用UTF-8的Encode,有兩種方法:
一、將文件存為UTF-8文件,直接使用urlencode、rawurlencode即可。
二、使用mb_convert_encoding函數。
$url = 『http://ud03.kinoko.name/中文.rar』;
echo urlencode(mb_convert_encoding($url, 『utf-8′, 『gb2312′)).」\n」;
echo rawurlencode(mb_convert_encoding($url, 『utf-8′, 『gb2312′)).」\n」;
//http://ud03.kinoko.name/中文.rar
?>
實例:
function parseurl($url=」")
{
$url = rawurlencode(mb_convert_encoding($url, 『gb2312′, 『utf-8′));
$a = array(「:」, 「/」, 「@″);
$b = array(「:」, 「/」, 「@」);
$url = str_replace($a, $b, $url);
return $url;
}
$url=」ftp://ud03:[email protected]/中文/中文.rar」;
echo parseurl($url);
//ftp://ud03:[email protected]/����/����.rar
?>
javaScript中的URLEncode:
中文-_. 中文-_.
encodeURI 不對下列字元進行編碼:「:」、「/」、「;」、「?」、「@」等特殊字元。
http://ud03.kinoko.name/中文.rarhttp://ud03.kinoko.name/中文.rar
2、示例
http://canvas.gdt.qq.com/canvas/1?viewid=%12%0C%08%E1%98%B7%CD%CB%DC%14%20%E4%A5%01%18%FF%89%18&ckn=91142321196129
1)utf-8解碼
http://canvas.gdt.qq.com/canvas/1?viewid=�ᘷ���� ������&ckn=91142321196129
2)gb2312解碼
http://canvas.gdt.qq.com/canvas/1?viewid=�針吠塑� 湞��?&ckn=91142321196129
C. 站長工具中的url加密解密起什麼作用
防止泄漏真實目錄結構。
站長建站時用於對網站質量查詢與製作幫助的一些工具,簡稱站長工具。表現形式主要有Web形式的工具箱、flash形式工具箱、終端形式工具箱、微信端的站長工具。
常用的站長工具有:友情鏈接檢查工具、蠢茄PR查詢工具、搜索引擎收錄查詢工具、關鍵詞排名查詢工具、網站帶扒察流量統計等。
站長工具是站長的必備工具。經常上站長工具可以了解SEO數據變化。還可以檢測網站死鏈接、蜘蛛訪問、HTML格式檢測、網站速度測試、友情鏈接檢查、網站域名IP查詢、PR、權重查此納詢、alexa、whois查詢等等。
D. url參數加密
加密URL參數
插件在訪問 Web 程序時,可以使用 Get 方法或 Post 方法提交數據,無論是哪種方法,按照 HTTP 協議的規范,參數總是按照以下格式提交(每對參數名/參數值以「&」號分隔):
參數名1=參數值1&參數名2=參數值2&參數名3=參數值3...
如果您沒有使用SSL,所有的參數名和參數值都將以明文的形式通過網路傳輸到 Web 伺服器,顯然這種方式是很不安全的,為了保證插件與Web 程序的通訊安全,插件在提交參數前可以對每個參數值使用 Rijndael 加密演算法進行加密處理,並使用 Base64 編碼轉換為可讀字元串形式。
Rijndael 加密演算法是一種高效的對稱加密演算法,它是 AES(Advanced Encryption Standard,高級加密演算法標准)的實現,在加密和解密時有兩個基本參數:初始向量和密鑰,Web程序在進行解密時必須使用和插件端設置相同的初始向量和密鑰。
下面分別列出了加密和不加密的例子各一個:
a. 不加密:Username=test&Password=123456&ClientIP=192.168.0.200&CurrentTime=2005-07-06+23%3a51%3a29
b. 加密:Username=ZtlBwgvwkS5YV98N9cgO%2fw%3d%3d&Password=vBSchK4dJX7Z2zfUatu9ZQ%3d%3d&CurrentTime=mpNifqRIvBV2xZi3d%2fPli6%2bZwR9BKHs4y6t%2bNS2QIr4%3d
在 Web 程序端必須使用相同的演算法來解密各個參數值,具體如何實現取決與您所使用的 Web 程序語言,這就需要您找到特定語言的演算法實現。解密一個參數值的過程包括下面三個步驟:
1. 使用 Base64 演算法將參數值轉換為位元組數組;
2. 使用 Rijndael 演算法將 1 中得到的位元組數組解密得到另一位元組數組;
3. 將 2 中得到位元組數組用特定的字元集轉換成字元串,即得到原始的數據。
插件安裝目錄下的「GVODClassLib.dll」文件包含了加密和解密的演算法實現類 CryptoUtility,它的 Decrypt 方法可以直接將 Base64 編碼後的密文解密為原文字元串,如果您的 Web 程序使用的是 asp.net 編寫的,可以將該文件拷貝到您 Web 站點的「/bin」目錄下,然後按照下面的例子完成解密:
<%@ page language="C#" %>
<%@ import namespace="Com.GVOD" %>
<%
//定義密鑰,請改成你加密時使用的密鑰
string key = "OEtxF/yyALd2NflVW4KSMspQIozPkSRL+mEdvlBAzUQ=";
//定義初始向量,請改成你加密時使用的初始向量
string iv = "Cz3EXGTEMeIN8PXKFLiZWg==";
//定義密鑰長度,請改成你加密時使用的密鑰的長度
int keyLength = 256;
//生成 CryptoUtility 類的實例
CryptoUtility util = new CryptoUtility(key, iv, keyLength);
//解密用戶名
string username = util.Decrypt(Request["Username"]);
//解密密碼
string password = util.Decrypt(Request["Password"]);
//解密其它參數
...
%>
E. url 解密 網址解密
這些電影訪問地址加密了。電影也加密了拷貝回去也看不了的
F. 如何將url加密 js加密 c#解密
js(加密):
str=encodeURI(str)
C#(解密):
HttpUtility.UrlDecode(str)
G. URL文本解密問題(求助)
MD5加密的方法網上有.
但是搏派瞎如果不知道加密方式的前提下.只憑加密前.加密後的文本.來猜加密方式.看似真的基空不大可能羨伍.因為可能行太多了.
H. JAVA如何對URL進行加密和解密啊
url是直接顯示在地址欄中的,這個無法加密,但是可以用https安全套接字,安裝服務端證書。如果你不想別人看到某個地址,你可以用request.setRequestDispacher("*/.jsp").forword(request,response);我不知道拼對沒有,自己多網上搜下。
I. asp對url把後面的參數進行加密與解密
function SafeUrl(OldName)
Urllen=len(OldName)
tempStr=""
for Ucount=1 to UrlLen
ttmp=hex(asc(mid(OldName,Ucount,1)))
if len(ttmp)=4 then ttmp=left(ttmp,2)+"%"+mid(ttmp,3)
tempStr=tempStr+"%"+ttmp
next
SafeUrl=tempStr
end function
那你就把這個值在url上加密,然後在頁面之間用個hidden傳吧
J. URL內 參數加密解密
javascript對URL中的參數進行簡單加密處理
javascript的api本來就支持Base64,因此我笑笑們可以很方便的來進行編碼和解碼。
var encodeData = window.btoa("name=xiaoming&age=10")//衡升敗編碼
var decodeData = window.atob(encodeData)//解碼。
下面來個具體的例子來說明如何對url中參數進行轉碼,並取得解碼後的參數
假如要跳轉的url = "stu_info.html?name=xiaoming&age=10"
轉碼:url = "stu_info.html?"+window.btoa("name=xiaoming&age=10");
跳轉:window.open(url)或者window.locaton.href = url;
解碼:解碼時我們首先要從url中獲得參數列表,
我們可以通過var paramsString = window.location.search來獲取url中?號開始的內容(url的咐顫查詢部分)即"?name=xiaoming&age=10";
然後去掉?號 paramsString = paramsString.substring(1) //"name=xiaoming&age=10"
去掉& paramsString = paramsString.split("&");//["name=xiaoming","age=10"]
需要指出的是 window.btoa這中編碼方式不能直接作用於Unicode字元串。只能將ascci字元串或二進制數據轉換成Base64編碼過的字元串。如果要對Unicode字元進行編碼可以將做如下轉換。
var encodeData = window.btoa(window.encodeURIComponent("name=小明&age=10"))//編碼
var decodeData = window.decodeURIComponent(window.atob(encodeData))//解碼。
獲取url參數
//獲取url參數
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var params = window.location.search.substr(1);
params = window.decodeURIComponent(window.atob(params));
var r = params.match(reg);
if (r != null) {
return decodeURI(r[2]);
}
return null;
}