⑴ ajax發送http請求,對json怎麼做加密
1、JSON格式的數據類似Map,List<Map>格式的數據形式,就是key,Value鍵值對的存在。在Servlet裡面只要net.sf.json 下面的JSONObject、JSONArray 將Object或者Collection轉換成JSON格式數據。
2、Ajax非同步請求數據分為:XML、JSON、HTML、TEXT等幾種,你定義為TEXT,後台傳輸過來的JSON格式數據需要用JS重新轉換成JS能識別的JSON格式,如果你定義為JSON格式交互,則不需要重新轉換。
3、Ajax數據交互中,Jquery不會自動加密。
⑵ 使用AJAX調用,提示沒有許可權,怎麼解決
我也遇到這種問題,我的情況是,之前客戶端的加密方式是cookie,這個時候在IIS中和VS中調式運行都是正常的,後來出於更安全的考慮,我客戶端解密採用:cookieless方式,這時在VS中就無法運行Ajax調用後台方法的頁面,但我把項目修改為使用本地IIS伺服器,就沒有這個問題了。
<!--使用cookieless方式在客戶端存儲Seesion的值-->
<sessionState mode="InProc" timeout="30" cookieless="true">
⑶ 請求數據不用ajax,要請求幾百萬上億的數據怎麼請求,請求數據要加密怎麼做
幾百萬條數據...
你確定要將幾百萬條數據一次性展示在web頁面上?
⑷ 關於ajax調用、JS 加密解密的問題!
直接用js壓縮、混淆工具就可以了。
你這樣子加密解密意義不大。最後總是要輸出為js代碼的,隨便用個代碼格式化工具刷一下,你的代碼就被還原了。
⑸ js用什麼方法對ajax的post的數據進行加密傳輸php進行解密
利用可逆函數加隨機鹽進行加密和解密~
客戶端利用密鑰加密提交,服務端利用密鑰解密,密鑰一次性,使用後作廢
⑹ 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演算法的原理。
⑺ ajax請求能加密嗎
前端談加密都是耍流氓的行為.
你直接斷點下不就可以找到它是怎麼編碼的
⑻ ajax返回值如何加密
這要看加密的難度了。如果想復雜點就用對稱加密。簡單點就用移位加密,但感覺在客戶端加密沒有任何意義。因為如果服務端加密了 你客戶端必然要解密。解密函數必然暴露在客戶端 。加了等於沒加。只能蒙小白。還有一種就是非對稱加密。但這種加密解密速度有點慢。適合少量數據。大概就是這樣子,看你需求吧。
⑼ 用ajax提交用戶密碼登錄怎麼加密
加密就是為了不能破解。但是js又是對客戶端開放的。也就是說你的演算法中加密演算法部分和密鑰都是透明的,而明文就是用戶提交的數據,對用戶也是透明的。
如果是對稱演算法,那麼你加密和沒加密是一樣的。因為加密演算法和密鑰都給人家了,反算即可。
⑽ 怎麼重寫jquery ajax方法 加密
(function($){
//備份jquery的ajax方法
var _ajax=$.ajax;
//重寫jquery的ajax方法
$.ajax=function(opt){
//備份opt中error和success方法
var fn = {
error:function(XMLHttpRequest, textStatus, errorThrown){},
success:function(data, textStatus){}
}
if(opt.error){
fn.error=opt.error;
}
if(opt.success){
fn.success=opt.success;
}
//擴展增強處理
var _opt = $.extend(opt,{
error:function(XMLHttpRequest, textStatus, errorThrown){
//錯誤方法增強處理
if (layer) {
layer.msg("出錯了,請聯系管理員!", 2, 3, null, true);
} else {
alert("出錯了,請聯系管理員!");
}
fn.error(XMLHttpRequest, textStatus, errorThrown);
},
success:function(data, textStatus){
//成功回調方法增強處理
var error = data.error;
if (error != undefined && error == true) {
if (layer) {
layer.msg(data.reason, 2, 3, null, true);
} else {
alert(data.reason);
}
return;
}
fn.success(data, textStatus);
}
});
_ajax(_opt);
};
})(jQuery);