javascript实现的字符串与十六进制表示字符串相互转换方法


Posted in Javascript onJuly 17, 2015

本文实例讲述了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程序设计有所帮助。

Javascript 相关文章推荐
奇妙的js
Sep 24 Javascript
JS date对象的减法处理实现代码
Dec 28 Javascript
10条建议帮助你创建更好的jQuery插件
May 18 Javascript
浅谈setTimeout 与 setInterval
Jun 23 Javascript
纯javascript代码实现计算器功能(三种方法)
Sep 07 Javascript
js实现加载更多功能实例
Oct 27 Javascript
jQuery为DOM动态追加事件的方法
Feb 16 Javascript
express express-session的使用小结
Dec 12 Javascript
Vue+Element实现动态生成新表单并添加验证功能
May 23 Javascript
一次让你了解全部JavaScript的作用域
Jun 24 Javascript
JS合并两个数组的3种方法详解
Oct 24 Javascript
Vue中fragment.js使用方法小结
Feb 17 Javascript
JavaScript实现基于十进制的四舍五入实例
Jul 17 #Javascript
JavaScript之AOP编程实例
Jul 17 #Javascript
js+html5实现可在手机上玩的拼图游戏
Jul 17 #Javascript
javascript封装的sqlite操作类实例
Jul 17 #Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
Jul 17 #Javascript
javascript实现根据3原色制作颜色选择器的方法
Jul 17 #Javascript
javascript实现树形菜单的方法
Jul 17 #Javascript
You might like
javascript,php获取函数参数对象的代码
2011/02/03 PHP
php中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
非常实用的PHP常用函数汇总
2014/12/17 PHP
JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
2013/02/05 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
2015/02/20 Javascript
利用Js的console对象,在控制台打印调式信息测试Js的实现
2016/11/26 Javascript
jQuery实现别踩白块儿网页版小游戏
2017/01/18 Javascript
js表单序列化判断空值的实例
2017/09/22 Javascript
webpack4的迁移的使用方法
2018/05/25 Javascript
浅析js中mvvm模式实现的原理
2018/10/06 Javascript
jQuery实现的自定义轮播图功能详解
2018/12/28 jQuery
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
利用vue3+ts实现管理后台(增删改查)
2020/10/30 Javascript
Python的SQLalchemy模块连接与操作MySQL的基础示例
2016/07/11 Python
Python实现的爬取豆瓣电影信息功能案例
2019/09/15 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
python3读取autocad图形文件.py实例
2020/06/05 Python
浅谈TensorFlow之稀疏张量表示
2020/06/30 Python
Python利用命名空间解析XML文档
2020/08/10 Python
解决Python3.8运行tornado项目报NotImplementedError错误
2020/09/02 Python
一文带你掌握Pyecharts地理数据可视化的方法
2021/02/06 Python
解决pytorch 数据类型报错的问题
2021/03/03 Python
Mistine官方海外旗舰店:泰国国民彩妆品牌
2016/12/28 全球购物
Emporio Armani腕表天猫官方旗舰店:乔治·阿玛尼为年轻人设计的副线品牌
2017/07/02 全球购物
学生个人的自我评价分享
2013/11/05 职场文书
有个性的自我评价范文
2013/11/15 职场文书
医药专业应届毕业生求职信范文
2014/01/01 职场文书
《我的信念》教学反思
2014/02/15 职场文书
社区母亲节活动记录
2014/03/06 职场文书
工伤事故赔偿协议书
2014/04/15 职场文书
教育局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
2014年企业工会工作总结
2014/11/12 职场文书
盗窃罪辩护词范文
2015/05/21 职场文书
护理心得体会范文
2016/01/22 职场文书
python自然语言处理之字典树知识总结
2021/04/25 Python
分析SQL窗口函数之聚合窗口函数
2022/04/21 Oracle