【发布时间】:2012-09-25 13:57:02
【问题描述】:
我需要在 javscript 中将密码编码为十六进制,然后在 php 中对其进行解码。我有一个函数可以做这两件事,但在 javascript 中。我试图将其转换为 php,但有一些我不知道 php 等效的 javascript 原生函数。
编码函数(Javascript)
function encodeToHex(str){
var r="";
var e=str.length;
var c=0;
var h;
while(c<e){
h=str.charCodeAt(c++).toString(16);
while(h.length<3) h="0"+h;
r+=h;
}
return r;
}
解码函数(Javascript)
function decodeFromHex(str){
var r="";
var e=str.length;
var s;
while(e>=0){
s=e-3;
r=String.fromCharCode("0x"+str.substring(s,e))+r;
e=s;
}
return r;
}
解码功能(PHP)
function decodeFromHex($str){
$r="";
$e=str.length;
$s;
while($e>=0){
$s=$e-3;
$r=String.fromCharCode("0x"+str.substring($s,$e))+$r;
$e=$s;
}
return $r;
}
【问题讨论】:
-
在javascript中,可以使用
parseInt('255', 16); // 0xFF进行编码,parseInt('0xFF', 10); // 255进行解码...如果已经是整数,则number.toString(16)。
标签: php javascript decode encode