前端解密後台加密演算法優化思想

2021-09-11 21:09:28 字數 2655 閱讀 7471

記一次加解密演算法優化過程。

1.開始

後台查詢出所有資料,並迴圈對所有的字段進行加密,

在前段迴圈對所有字段進行迴圈解密。

2.一次優化

後台只對關鍵字段進行加密,前段只對關鍵字段進行解密。

3.二次優化

後台對每條記錄,即每個物件的關鍵字段進行迴圈取出,拼接成字串,

然後再對所有物件進行加密。

4.三次優化

後台先迴圈取出所有的物件的所有字段,拼接成字串,字段之間以及

物件之間用分隔符分隔,然後拼接成乙個字串,也就是在迴圈外呼叫加密演算法。

然後前段實現一次解密,然後遍歷賦值。

單個關鍵字段進行加解密

後台:

data2 = this.service.queryall(map);

string key =rsaservice.getpublickey();

string totalwithoutline="";

for(ordercomfirm oc:data2)

if(oc.getisonline()==0)

if(oc.gettotalwithoutline()!=null) else

}oc.settotalwithoutline(null);

oc.setprice(null);

oc.setstate(oc.getstateen());

oc.settotal(null);

string week = dateconvert.getweek(oc.getdeliverdate()).getchinesename();

week = "周"+week.substring(2);

oc.setweek(week);

}string totalwithoutlineen=rsaservice.encrypt(key,totalwithoutline);

data2.get(0).settotalen(totalwithoutlineen);

jsonresult.setdata(data2);

jsonresult.setstatus(true);

jsonresult.setmessage("介面訪問成功!");

logservice.getinstance(this).debug("獲取列表成功!"); 

}catch(exception ex)

return jsonresult;

}

前端:

var list = data.data;

var totalwithoutlinestr = list[0].totalen;

totalwithoutlinestr = rsadecrypt(totalwithoutlinestr);

var totalpricearr=totalwithoutlinestr.split(",");

if(list.length>0)

for(var i=0;i多個關鍵字段進行加解密

typelist = this.tbcomfirmlistservice.getcates(map);

for(catelist cate : typelist)else

if(online!=null&&!online.equals(""))

listcst = tbcomfirmlistservice.queryorder(map1);

cate.setlist(cst);}}

bigdecimal totalprice=new bigdecimal("0.00");

for(catelist cl:typelist)

string cateencry="";

string encryafter ="";

for(catelist cl:typelist) else

cateencry=cateencry+"-"+cl.getpayment().tostring();

cl.setpayment(null);

cl.settotalprice(null);

for(comfirmlist c:cl.getlist()) else

encryafter=encryafter+"-"+c.getprice().tostring();

c.setnum(null);

c.setprice(null);}}

string result=cateencry+";"+encryafter;

cateencry=rsaservice.encrypt(key,result);

if(typelist.get(0)!=null)

jsonresult.setdata(typelist);

jsonresult.setstatus(true);

jsonresult.setmessage("介面訪問成功!");

logservice.getinstance(this).debug("獲取列表成功!");

前端:

var list = data.data;

for(var i=0;ilist[i].totalprice = commafy(list[i].totalprice);

for(var j=0;j}

php加密演算法之實現可逆加密演算法和解密分享

加密演算法如下 複製 如下 function encrypt data,key ordpuvh nbs程式設計客棧p char key x for i 0 i len i ord char 256 return base64 encode str 解密演算法如下 複製 如下 function dec...

RSA加密演算法加密與解密過程解析

1.加密演算法概述 加密演算法根據內容是否可以還原分為可逆加密和非可逆加密。可逆加密根據其加密解密是否使用的同乙個金鑰而可以分為對稱加密和非對稱加密。所謂對稱加密即是指在加密和解密時使用的是同乙個金鑰 舉個簡單的例子,對乙個字串c做簡單的加密處理,對於每個字元都和a做異或,形成密文s。解密的時候再用...

RSA加密演算法加密與解密過程解析

1.加密演算法概述 加密演算法根據內容是否可以還原分為 可逆加密和非可逆加密 可逆加密根據其加密解密是否使用的同乙個金鑰而可以分為 對稱加密和非對稱加密 所謂對稱加密即是指在加密和解密時使用的是同乙個金鑰 舉個簡單的例子,對乙個字串c做簡單的加密處理,對於每個字元都和a做異或,形成密文s。解密的時候...