宝哥软件园

Nodejs实现客户端js加密

编辑:宝哥软件园 来源:互联网 时间:2021-09-06

思考:

服务端呈现服务代码js=前端协议加密算法=服务代码签名=客户端解密服务代码=eval执行Node路由示例:

/* * *请自定义restful API。以GET为例。* @ param { req } * @ param { RES } * @ return { next()} *///varutil=require(' utility ');出口。加密=函数(req,res) {//getvar name=req。query.name,用于服务器呈现的jsstr//js脚本,doc={n : '支持请求参数',};//isSafe :一般安全角色判断if(好玩。Issa Fe(name))doc[' n ']=name;///////////////要加密的js业务代码Start/////////////////////JSSTR=function(n){ alert('开始执行业务代码~')//variable n可以是前一些} sayHello(n);//}////////////////js需要加密的业务代码END//////////////////JSSTR='(' JSSTR。tostring()')(' ')()(doc . n : ' default ')' ';var key=util . MD5(' high sea 90 ' date . now())var resStr=myFromCharCode(key,jsStr);Res. render ('cm/eval ',{title :' js加密演示',charcode : escape(my from charcode。tostring())、data : escape (resstr)、key : key })};/* * * @ param { m } key * @ param { text } text * @ return { last }加密文本*/function my fromcharcode (m,text){ var last=' ';for (var i=0,l=text.lengthI l;i ) { for (var j=0,k=m.lengthj k;j ) { var key=m.charCodeAt(j),text 2=text . charcodeat(I)^ key } last=string . from charcode(text 2);}最后返回;}客户端页面示例:

!doctype html html head title %=title %/title/head dyscript type=' text/JAVAScript '/执行商定的加密算法eval(escape(' %=char code % ');//服务器上的加密字符串由商定的算法解密。var str=my from charcode(“%=key %”,escape(“%=data %”);//执行服务代码eval(str);/script/body/html代码演示

一个小视频:

以上就是本文的全部内容。希望本文的内容能给大家的学习或工作带来一些帮助,也希望多多支持我们!

更多资讯
游戏推荐
更多+