国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript實現的字符串與十六進制表示字符串相互轉換方法

2019-11-20 12:01:49
字體:
來源:轉載
供稿:網友

本文實例講述了javascript實現的字符串與十六進制表示字符串相互轉換方法。分享給大家供大家參考。具體如下:

之所以寫這個,是因為發現SQL注入和XSS中經常利用十六進制表示的字符串,比如
SELECT CONCAT(0x68656c6c6f);
得到的是hello

<!DOCTYPE html><html> <head>  <title>Hex-Char Bi-Converter</title> </head> <body>  <div class="mainContainer">   <label for="from" id="fromLabel">String</label>   <input type="text" name="from" id="from" />   <input type="button" name="exchange" id="exchange" value="<=>" />   <label for="to" id="toLabel">Hex</label>   <input type="text" name="to" id="to" />   <input type="button" name="convert" id="convert" value="Convert" />  </div>  <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>  <script type="text/javascript">   var curMode = 0; // curMode: 0 represents String to Hex, 1 from Hex to String   var fromToLabelArray = ["Hex", "String"];   $(function() {    $("#convert").click(function() {     var fromVal = $("#from").val();     var toVal =       curMode === 0       ?       strToHexCharCode(fromVal)       :      hexCharCodeToStr(fromVal);     $("#to").val(toVal);    });    $("#exchange").click(function() {     $("#fromLabel").text(fromToLabelArray[curMode]);     $("#toLabel").text(fromToLabelArray[1-curMode]);     curMode = 1 - curMode;    });   });   function strToHexCharCode(str) {    if(str === "")     return "";    var hexCharCode = [];    hexCharCode.push("0x");        for(var i = 0; i < str.length; i++) {     hexCharCode.push((str.charCodeAt(i)).toString(16));    }    return hexCharCode.join("");   }   function hexCharCodeToStr(hexCharCodeStr) {    var trimedStr = hexCharCodeStr.trim();    var rawStr =       trimedStr.substr(0,2).toLowerCase() === "0x"      ?       trimedStr.substr(2)       :       trimedStr;    var len = rawStr.length;    if(len % 2 !== 0) {     alert("Illegal Format ASCII Code!");        return "";    }    var curCharCode;    var resultStr = [];    for(var i = 0; i < len;i = i + 2) {     curCharCode = parseInt(rawStr.substr(i, 2), 16); // ASCII Code Value     resultStr.push(String.fromCharCode(curCharCode));    }    return resultStr.join("");   }  </script> </body></html>

希望本文所述對大家的javascript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宿松县| 双柏县| 怀柔区| 滁州市| 夏津县| 白水县| 上栗县| 德格县| 甘肃省| 汝阳县| 宝山区| 库车县| 伊金霍洛旗| 云浮市| 马边| 萍乡市| 长岛县| 和政县| 山西省| 临安市| 云梦县| 东源县| 宁强县| 江津市| 巫溪县| 安义县| 镇宁| 衡山县| 卢湾区| 万州区| 沈阳市| 皮山县| 沈丘县| 原平市| 韶关市| 迭部县| 毕节市| 留坝县| 东兰县| 安陆市| 长丰县|