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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 16:23:21
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了javascript實現的字符串與十六進制表示字符串相互轉換方法,涉及javascript字符串轉換的相關技巧,在防止SQL注入和XSS中具有一定參考借鑒價值,需要的朋友可以參考下

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

之所以寫這個,是因為發現SQL注入和XSS中經常利用十六進制表示的字符串,比如

SELECT CONCAT(0x68656c6c6f);

得到的是hello

 

 
  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4. <title>Hex-Char Bi-Converter</title> 
  5. </head> 
  6. <body> 
  7. <div class="mainContainer"
  8. <label for="from" id="fromLabel">String</label> 
  9. <input type="text" name="from" id="from" /> 
  10. <input type="button" name="exchange" id="exchange" value="<=>" /> 
  11. <label for="to" id="toLabel">Hex</label> 
  12. <input type="text" name="to" id="to" /> 
  13. <input type="button" name="convert" id="convert" value="Convert" /> 
  14. </div> 
  15. <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script> 
  16. <script type="text/javascript"
  17. var curMode = 0; // curMode: 0 represents String to Hex, 1 from Hex to String 
  18. var fromToLabelArray = ["Hex""String"]; 
  19. $(function() { 
  20. $("#convert").click(function() { 
  21. var fromVal = $("#from").val(); 
  22. var toVal =  
  23. curMode === 0  
  24. ?  
  25. strToHexCharCode(fromVal)  
  26. hexCharCodeToStr(fromVal); 
  27. $("#to").val(toVal); 
  28. }); 
  29. $("#exchange").click(function() { 
  30. $("#fromLabel").text(fromToLabelArray[curMode]); 
  31. $("#toLabel").text(fromToLabelArray[1-curMode]); 
  32. curMode = 1 - curMode; 
  33. }); 
  34. }); 
  35. function strToHexCharCode(str) { 
  36. if(str === ""
  37. return ""
  38. var hexCharCode = []; 
  39. hexCharCode.push("0x");  
  40. for(var i = 0; i < str.length; i++) { 
  41. hexCharCode.push((str.charCodeAt(i)).toString(16)); 
  42. return hexCharCode.join(""); 
  43. function hexCharCodeToStr(hexCharCodeStr) { 
  44. var trimedStr = hexCharCodeStr.trim(); 
  45. var rawStr =  
  46. trimedStr.substr(0,2).toLowerCase() === "0x" 
  47. ?  
  48. trimedStr.substr(2)  
  49. :  
  50. trimedStr; 
  51. var len = rawStr.length; 
  52. if(len % 2 !== 0) { 
  53. alert("Illegal Format ASCII Code!"); 
  54. return ""
  55. var curCharCode; 
  56. var resultStr = []; 
  57. for(var i = 0; i < len;i = i + 2) { 
  58. curCharCode = parseInt(rawStr.substr(i, 2), 16); // ASCII Code Value 
  59. resultStr.push(String.fromCharCode(curCharCode)); 
  60. return resultStr.join(""); 
  61. </script> 
  62. </body> 
  63. </html> 

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 平顺县| 沛县| 乐亭县| 伊金霍洛旗| 博罗县| 岚皋县| 大足县| 始兴县| 甘南县| 科尔| 祁阳县| 东宁县| 黎平县| 龙泉市| 昌宁县| 山西省| 临江市| 娱乐| 霍城县| 五莲县| 巴青县| 怀柔区| 肇州县| 新蔡县| 钟祥市| 当阳市| 县级市| 日土县| 区。| 白沙| 安多县| 临泉县| 曲阳县| 谢通门县| 乐安县| 玉龙| 卫辉市| 紫阳县| 育儿| 包头市| 安乡县|