⑴ 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);