最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

NodeJS實(shí)現(xiàn)客戶端js加密

 更新時間:2017年01月09日 14:39:22   作者:highsea  
本文主要介紹了NodeJS實(shí)現(xiàn)客戶端js加密的思路與方法,具有一定的參考價值,下面跟著小編一起來看下吧

思路:

  • 服務(wù)端渲染業(yè)務(wù)代碼js =>
  • 前后端約定加密算法 =>
  • 業(yè)務(wù)代碼進(jìn)行簽名 =>
  • 客戶端解密業(yè)務(wù)代碼 =>
  • eval 執(zhí)行

Node 路由示例:

/**
 * 請自定義 restful API 這里以 GET 為例
 * @param {req}
 * @param {res}
 * @return {next()}
 */
//var util = require('utility');
exports.encryption = function(req, res){
 //GET
 var name = req.query.name
 , jsStr // 用于 服務(wù)端渲染的 js 腳本
 , doc = {
 n : '支持請求參數(shù)',
 };
 // isSafe : 常規(guī)安全字符判斷
 if (fun.isSafe(name)) doc['n'] = name;
 /////////////////需要加密的js 業(yè)務(wù)代碼 start///////////////////// 
 jsStr = function(n){
 alert('開始執(zhí)行業(yè)務(wù)代碼~')
 // 變量 N 可以是某些 之前需要 服務(wù)端渲染的 信息
 // 比如 自產(chǎn) 的 url 之類
 function sayHello(s){
 alert('您輸入了: '+s);
 }
 sayHello(n);
 //
 }
 //////////////////需要加密的js 業(yè)務(wù)代碼 end//////////////////// 
 jsStr = '('+jsStr.toString()+')("'+( name ? doc.n : '默認(rèn)的')+'")';
 var key = util.md5('highsea90'+Date.now())
 var resStr = 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}加密文本
 */
 function myFromCharCode (m, text){
 var last = '';
 for (var i = 0 , l = text.length; i < l; i++) {
 for (var j = 0, k = m.length; j < k; j++) {
 var key = m.charCodeAt(j)
 , text2 = text.charCodeAt(i) ^ key
 }
 last += String.fromCharCode(text2);
 }
 return last;
 }

客戶端 頁面示例:

<!DOCTYPE html>
<html>
<head>
 <title><%=title%></title>
</head>
<body>
<script type="text/javascript">
 // 執(zhí)行 約定的 加密算法
 eval(unescape("<%=charCode%>"));
 // 服務(wù)端加密后的 字符串 用約定的 算法進(jìn)行解密
 var str = myFromCharCode("<%=key%>", unescape("<%=data%>"));
 // 執(zhí)行業(yè)務(wù)代碼
 eval(str);
</script>
</body>
</html>

代碼演示

一個小錄像:

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

  • Node.js中使用Log.io在瀏覽器中實(shí)時監(jiān)控日志(等同tail -f命令)

    Node.js中使用Log.io在瀏覽器中實(shí)時監(jiān)控日志(等同tail -f命令)

    這篇文章主要介紹了Node.js中使用Log.io在瀏覽器中實(shí)時監(jiān)控日志,Log.io等同于tail -f命令,但更強(qiáng)大,需要的朋友可以參考下
    2014-09-09
  • 在nodeJs中如何修改json文件中的數(shù)據(jù)

    在nodeJs中如何修改json文件中的數(shù)據(jù)

    這篇文章主要介紹了在nodeJs中如何修改json文件中的數(shù)據(jù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • node.js缺少mysql模塊運(yùn)行報錯的解決方法

    node.js缺少mysql模塊運(yùn)行報錯的解決方法

    前幾天在工作中需要利用node.js連接數(shù)據(jù)庫,通過網(wǎng)上的教程連接后運(yùn)行卻報錯了,然后趕緊查找解決的方法,通過測試與朋友的提點(diǎn),終于解決了這個問題,現(xiàn)在將解決的方法分享給大家,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-11-11
  • 在Mac下徹底卸載node和npm的方法

    在Mac下徹底卸載node和npm的方法

    今天小編就為大家分享一篇在Mac下徹底卸載node和npm的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Centos7 中 Node.js安裝簡單方法

    Centos7 中 Node.js安裝簡單方法

    這篇文章主要介紹了Centos7 中 Node.js安裝簡單方法,非常不錯具有一定的參考借鑒價值,需要的朋友可以參考下
    2016-11-11
  • Node.js?實(shí)現(xiàn)簡單爬蟲的示例代碼

    Node.js?實(shí)現(xiàn)簡單爬蟲的示例代碼

    本文主要介紹了Node.js?實(shí)現(xiàn)簡單爬蟲,爬取美食網(wǎng)站的菜品標(biāo)題和圖片鏈接,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • yarn?install命令報錯warning?package-lock.json?found解決辦法

    yarn?install命令報錯warning?package-lock.json?found解決辦法

    這篇文章主要給大家介紹了關(guān)于yarn?install命令報錯warning?package-lock.json?found的解決辦法,文中通過圖文將解決的辦法介紹的非常詳細(xì),還分享了更多yarn install遇到的報錯及解決方案,需要的朋友可以參考下
    2024-02-02
  • Node.js中Express框架的使用教程詳解

    Node.js中Express框架的使用教程詳解

    這篇文章主要為大家詳細(xì)介紹了Node.js中的開發(fā)框架Express,利用Express框架可以快速的進(jìn)行Web后端開發(fā),感興趣的小伙伴可以了解一下
    2022-04-04
  • 淺談Node.js:Buffer模塊

    淺談Node.js:Buffer模塊

    本篇文章主要介紹了Node.js:Buffer模塊,詳細(xì)的介紹了創(chuàng)建Buffer實(shí)例,具有一定的參考價值,有需要的可以了解一下。
    2016-12-12
  • Node.js Domain 模塊實(shí)例詳解

    Node.js Domain 模塊實(shí)例詳解

    這篇文章主要介紹了Node.js Domain 模塊實(shí)例代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03

最新評論

睢宁县| 巫溪县| 吉木乃县| 马关县| 万荣县| 吉木乃县| 精河县| 扶绥县| 民县| 喀喇沁旗| 大厂| 遵化市| 新化县| 贺兰县| 崇明县| 济阳县| 犍为县| 稻城县| 外汇| 延吉市| 蚌埠市| 韶关市| 平乐县| 娄底市| 台安县| 晋中市| 盐池县| 曲麻莱县| 会东县| 平邑县| 昭平县| 万安县| 高邑县| 尉氏县| 肥乡县| 海口市| 鄂尔多斯市| 伊吾县| 牙克石市| 浪卡子县| 乌兰浩特市|