< meta charset = "UTF-8" > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" > < title > Document < / title > < script src = "./js/querystrings.js" > < / script > < / head > < script > var str = "一爱我的祖国i like javascript" ; 一的Unicode 编码为19968 // var str="一"; //一 异或之后是19979 下 var n = new Date ( ) . getDate ( ) ; var arr = [ ] ; for ( var i = 0 ; i < str . length ; i ++ ) { arr . push ( str . charCodeAt ( i ) ^ n ) ; var a = new Uint16Array ( arr ) ; console . log ( a ) ; /* console.log(a[0]); console.log(String.fromCharCode(a[0])); */ var xhr = new XMLHttpRequest ( ) ; xhr . addEventListener ( "load" , loadHandler ) ; xhr . open ( "POST" , "http://127.0.0.1:4002/a/" ) ; // xhr.setRequestHeader('Content-type','application/content'); xhr . send ( a ) ; function loadHandler ( e ) { if ( xhr . readyState === 4 && xhr . status < 400 ) { < / script > < / body > < / html >

后端代码实现

var http=require("http");
var querystring=require("querystring");
var req,res,data,type;
init();
function init(){
    var server=http.createServer(createServer);
    server.listen(4002,"127.0.0.1",listenHandler);
function createServer(_req,_res){
    req=_req;
    res=_res;
    res.writeHead(200,{
        "content-type":"text/plain;charset=utf-8",
        "Access-Control-Allow-Origin":"*",
        "Access-Control-Allow-Headers":"Content-type",
    });
    type=req.url.includes("?") ? req.url.split("?")[0].replace(/\//g,"") : req.url.replace(/\//g,"");
    req.on("data",dataHandler);
    req.on("end",endHandler);
function listenHandler(){
    console.log("开启服务");
function dataHandler(_data){
 var str="";
 // -------16位二进制解析
   var n=new Date().getDate();
   //进制数据是两个一位 且是颠倒的
   for(var i=0;i<_data.length;i+=2){
    //如果某个字符串不够指定长度,会在头部或尾部补全。
   //padStart()用于头部补全,padEnd()用于尾部补全。
    var a=_data[i+1].toString(16).padStart(2,"0");
    var b=_data[i].toString(16).padStart(2,"0");
    var s=parseInt(a+b,16);
    console.log(s);
       str+=String.fromCharCode(s^n);
   console.log(str);
    data=_data+"";
function endHandler(){
    if(req.method.toUpperCase()==="GET"){
        data=req.url.includes("?") ? req.url.split("?")[1] : "";
    try{
        data=JSON.parse(data);
    }catch(e){
        data=querystring.parse(data);
    var obj=data;
    //  var obj={a:data.a,b:data.b};
    if(type==="a"){
        // obj.sum=Number(data.a)+Number(data.b)
        res.write(querystring.stringify(obj));
    }else if(type==="b"){
        // obj.sum=Number(data.a)*Number(data.b)
        res.write(querystring.stringify(obj));
    res.end();
                    ^常用于数据加密常常使用日期与数据进行异或    c= a ^ b  可以推出 a =  b ^ c. (常用于加密)    异或的运算方法是一个二进制运算: 两者相等为0,不等为1.使用进制形式 防止服务器不是utf8无法解析中文前端代码&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt;    &lt;meta charset="UTF-8"&gt;    &lt;meta name="viewport" content="
//ajax部分
var data = {user_name:user_name,short_company_name:user_name,mobile:mobile,user_passwd:user_passwd,code:code,city_id:city_id};
   	getSignature(data)
				
首先是密钥交换的过程,Diffie-Hellman密钥交换算法参考维基百科的文档: http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange client端js语言,服务端php语言 用DH密钥交换算法交换密钥。 var g = "2"; var p = "1060250871334882992391
加密密钥通过ajax异步请求发送 文章目录加密密钥通过ajax异步请求发送1.加密函数2.分析ajax异步请求3.获取密钥进行参数加密 最近写一个网页的爬虫,登录时账号密码被进行了加密加密方式是自设定的,密钥通过ajax异步请求发送,目标站:http://61.187.179.66:8924/ 1.加密函数 输入完账号密码之后,当点击登录时,执行了一段加密代码,主要功能是将账号密码字符串进行混...
javascript的api本来就支持Base64,因此我们可以很方便的来进行编码和解码。 var encodeData = window.btoa("name=xiaoming&age=10")//编码 var decodeData = window.atob(encodeData)//解码。 下面来个具体的例子来说明如何对url中参数进行转码,并取得解码后的参数 假如要跳转...
对 URL 进行加密本身并没有什么意义,因为客户端仍然需要使用解密后的 URL 发送请求。而且,加密 URL 可能会导致一些安全问题,因为攻击者可以使用相同的密钥来解密 URL 并进行攻击。 如果你需要对传输数据进行保护,可以考虑使用 HTTPS 协议来加密整个通信过程。HTTPS 使用 SSL/TLS 加密算法来保护数据传输,可以有效地防止中间人攻击和窃听等安全问题。在使用 HTTPS 时,URL 中的所有信息都会被加密,不需要对 URL 进行额外的加密处理。