百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> NodeJS实现客户端js加密
分享文章到:

NodeJS实现客户端js加密

发布时间:01/15 来源: 浏览: 关键词:
这篇文章介绍了NodeJS实现客户端js加密的教程,有需要的同学可以参考一下

思路:

  • 服务端渲染业务代码js =>

  • 前后端约定加密算法 =>

  • 业务代码进行签名 =>

  • 客户端解密业务代码 =>

  • eval 执行

Node 路由示例:

/**

 * 请自定义 restful API 这里以 GET 为例

 * @param {req}

 * @param {res}

 * @return {next()}

 */

//var util = require('utility');

exports.encryption =function(req, res){

 //GET

 varname = req.query.name

 , jsStr// 用于 服务端渲染的 js 脚本

 , doc = {

  n :'支持请求参数',

 };

 // isSafe : 常规安全字符判断

 if(fun.isSafe(name)) doc['n'] = name;

 /////////////////需要加密的js 业务代码 start/////////////////////

 jsStr =function(n){

 alert('开始执行业务代码~')

 // 变量 N 可以是某些 之前需要 服务端渲染的 信息

 // 比如 自产 的 url 之类

 functionsayHello(s){

  alert('您输入了: '+s);

 }

 sayHello(n);

 //

 }

 //////////////////需要加密的js 业务代码 end////////////////////

 jsStr ='('+jsStr.toString()+')("'+( name ? doc.n :'默认的')+'")'

 varkey = util.md5('highsea90'+Date.now())

 varresStr = myFromCharCode(key, jsStr);

 res.render('cm/eval',{

 title :'js 加密 demo',

 charCode : escape(myFromCharCode.toString()),

 data : escape(resStr),

 key : key

 })

};

 /**

 * @param {m}密钥

 * @param {text}文本

 * @return {last}加密文本

 */

 functionmyFromCharCode (m, text){

 varlast =''

 for(vari = 0 , l = text.length; i < l; i++) {

  for(varj = 0, k = m.length; j < k; j++) {

  varkey = m.charCodeAt(j)

   , text2 = text.charCodeAt(i) ^ key

  }

  last += String.fromCharCode(text2);

 }

 returnlast;

 }

客户端 页面示例:

 <%=title%></%=title%>

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有3人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板