1. 怎麼給URL加密
你可以設置跳轉啊!也就是滿足什麼條件到什麼頁面!一個switch()語句及可以了!URL加密!鄙人沒有聽說過!但是傳輸一些特殊字元的時候可以URLENCODE()一下!
2. URL加密方式
http://www..com/fije.htm
3. url加密問題,比如對url參數id進行加密 - 技術問答
這個不一定,可能是自己的加密方法,當然一般可以用base64。
4. URL請求對參數前端JS加密,後台JAVA解密
數字的話可以使用 Base62 演算法,不過這只是表面的轉換,因為演算法是寫在Js里的,稍加分析就能知道怎麼去翻轉。
如果要有效加密的話,可以使用js調用RSA演算法進行加密,這樣js中只會暴露公鑰,可以實現安全的加密。
網上多得很。
5. url 地址欄如何加密
你這個不是加密,只是編碼,你裡面的%BC就是ASCII碼為十六進制BC的符號,許多語音都有這樣的函數,不知道你是用什麼語言寫程序, 你查一下你的語言手冊就知道。
6. url 加密
是在網頁代碼上下手吧.
7. 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"]);
//解密其它參數
...
%>
8. url地址加密後,如何實現跳轉
*你可以模仿www.phpe.net上面的那個友情鏈接來做啊。*/ 可以將鏈接保存在資料庫中,地址中直接跟url保存的id,然後讀出來再用header()跳轉就好了。 若用BASE64來做,不要將url和那個"="都加密了,用 http://www.a.com/redir.php?url=加密後的串。接收倒$_GET['url']後解碼,也用header(),跳轉過去就可以了。 1. http://www.a.com/redir.php?urlid=id. 取資料庫或者其他存儲辦法。 $sql = "select urlstr from url where id = '".$_GET['id']."'"; 查到結果: header("Location:" . 查出來的結果)。 2. http://www.a.com/redir.php?url=加密後的URL 接收, $url = $_GET['url']. header("Location:" . base64_decode($url)); 希望可以有所幫助。 既然說了數據有幾十W條,那麼應該入庫了吧? 那麼採用第一種方法要方便點。
9. ajax請求的URL可以加密嗎
可以加密,而且對伊一些敏感度搞的項目更要加設置加密:
首先是密鑰交換的過程,Diffie-Hellman密鑰交換演算法參考維基網路的文檔:http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange ,client端js語言,服務端php語言 用DH密鑰交換演算法交換密鑰。
js部分:
varg="2";
varp="28303789813787064911279666129";
functiondoStaff(){
varbig_a=randBigInt(100);
varbig_p=str2bigInt(p,10,0);
varbig_g=str2bigInt(g,10,0);
varA=powMod(big_g,big_a,big_p);
varstr_A=bigInt2str(A,10);
varB;
varsecret;
$.ajax({
url:'server.php',
type:'GET',
async:false,
data:{"A":str_A},
cache:false,
timeout:5*1000,
dataType:'json',
success:function(data,status,xhr){
B=str2bigInt(data.B,10,0);
},
error:function(){
alert(2);
}
});
secret=powMod(B,big_a,big_p);
secret=bigInt2str(secret,10);
註明:上邊的代碼中,最後的到的secret,就是最終和服務端協商一致的密鑰(這是一個很多位數字的字元串,我們的密鑰使用16位元組,那麼我們可以考慮對它md5,作為對稱加密的密鑰)。
上述代碼中bigint相關的js,直接使用的一個開源的bigint.js(js代碼有不開源的嗎?^_^)。
php部分:
<?php
$g="2";
$p="28303789813787064911279666129";
$b="86410430023";//TODO:.
$A=$_REQUEST['A'];
$B=bcpowmod($g,$b,$p);
$secret=bcpowmod($A,$b,$p);
echo'{"B":"'.$B.'"}';
可見我們採用固定的g和p,這2個變數是公開的,不怕泄漏。
js端首先生成一個100bit長的整數a,並依據公式計算出A, 用ajax的形式發送到服務端php。 服務端收到A,自己生成變數b,依據公式計算出B,響應給客戶端js。
此時,服務端和客戶端分別可以依據公式計算出一個相同的secret。 這個secret沒有在網路中傳輸過,雙方可說是「心照不宣」,且雙方自己選定的a和b是保密的,第三方無法根據公開傳輸的數據推算出a,b,當然也無法得到secret。 這就是DH演算法的原理。