js将URL网址转为16进制加密与解密函数

  

十六进制(十六进制)是计算机中数据的一种表示方法。同日常生活中的表示法不一样,它由0 - 9,f组成,字母不区分大小写。与10进制的对应关系是:0 - 9对应0 - 9,f对应10 - 15;N进制的数可以用0 ~ (N - 1)的数表示,超过9日的用字母f。不同电脑系统,编程语言对于16进制数值有不同的表示方式:如增加0 x前缀。

  

这里推荐一个在线转换的小工具方便大家使用:http://tools.jb51.net/transcoding/decode_encode_tool

  

<强> php函数:

  

bin2hex (str)将字符串转换成16进制
  bin2hex(十六进制)将16进制转换成字符串

  

下面的函数都是单个转换

  

字符串转16进制

        函数strToHexCharCode (str) {   如果(str===" ")   返回";   var hexCharCode=[];   hexCharCode.push (“0 x”);   (var=0;我& lt;str.length;我+ +){   hexCharCode.push (str.charCodeAt(我).toString (16));   }   返回hexCharCode.join (" ");   }      

16进制转字符串

        函数hexCharCodeToStr (hexCharCodeStr) {   var trimedStr=hexCharCodeStr.trim ();   var rawStr=trimedStr.substr (0, 2) .toLowerCase ()===" 0 x " & # 63; trimedStr.substr (2): trimedStr;   var len=rawStr.length;   如果(len % 2 !==0) {   alert("非法格式ASCII代码!”);   返回";   }   var curCharCode;   var resultStr=[];   (var=0;我& lt;len;我=+ 2){   curCharCode=方法(rawStr。substr(我,2)、16);//ASCII码值   resultStr.push (String.fromCharCode (curCharCode));   }   返回resultStr.join (" ");   }      

修改的一个支持将网址转换为\ x编码的

        函数strToHexjb51 (str) {   如果(str===" ")   返回";   var hexCharCode=[];   (var=0;我& lt;str.length;我+ +){   hexCharCode.push (“x \ \”);   hexCharCode.push (str.charCodeAt(我).toString (16));   }   返回hexCharCode.join (" ");   }      

例如   

  

document . write (strToHexjb51 (" https://www.jb51.net "));

     

输出   

  

\ x68 \ x74 \ x74 \ x70 \ x73 \ x3a \ x2f \ x2f \ x77 \ \表示就是x77 \ x77 \ x2e x6a \ x62 \ \ x6e \ x65 \表示就是x35 \ x31 \ x2e x74

     

想看看对不是,直接用js的警报或document . write (" ")

  

即可看到加密的字符串,方便隐藏网址与字符等。
  

  

测试的时候也可以在chrome中定义例如

  

str=" \ x68 \ x74 \ x74 \ x70 \ x73 \ x3a \ x2f \ x2f \ x77 \ \表示就是x77 \ x77 \ x2e x6a \ x62 \ \ x6e \ x65 \表示就是x35 \ x31 \ x2e x74”;

  

 js将URL网址转为16进制加密与解密函数

  

  

<强> Js字符串与十六进制的相互转换

  

开发过程中,字符串与十六进,二进制之间的相互转换常常会用的到,尤其是涉及到中文的加密时,就需要把中文转换为十六进制。下面说说具体的转换方法。

  

<强> 1,字符串转换为十六进制

  

主要使用charCodeAt()方法,此方法返回一个字符的Unicode值,该字符位于指定索引位置。

        函数stringToHex (str) {   var val=" ";   (var=0;我& lt;str.length;我+ +){   如果(val==" ")   val=str.charCodeAt (i) .toString (16);   其他的   val +=薄ⅰ? str.charCodeAt (i) .toString (16);   }   返回val;   }      

调用方法:

  
  

var str="中的";
  

stringToHex (str);      

<强> 2,十六进制转换为字符串

  

主要使用fromCharCode()方法,此方法将Unicode码转换为与之对应的字符

        函数hexToString (str) {   var val=" ";   var arr=str.split (", ");   (arr我=0;我& lt;arr.length;我+ +){   arr val +=[我].fromCharCode(我);   }   返回val;   }      

调用方法:

  
  

var str=" 676865 ";
  

stringToHex (str);      

3,用方法()方法转换

  

方法(字符串,基数)方法只能转换字符串类型,对其它类型都返回南(非数字).string表示待转换的字符,基数表示要转为的进制,值介于2 ~ 36之间。

  

方法(“公元前”,16);//表示把字符串公元前转换为16进制,结果:188

js将URL网址转为16进制加密与解密函数