0

パスワードをjavscriptで16進数にエンコードしてから、phpでデコードする必要があります。私は2つのことをする関数を持っていますが、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;
}
4

2 に答える 2

0

hexdecおよびdehex関数が必要です。

ところで、php で文字列の長さを取得するには、strlen().

最後に、クライアント側のエンコーディングは無意味です。データを盗聴してデコードするのは簡単だからです - 確実にしたい場合は、HTTPS 経由で SSL を使用してください。

于 2012-09-25T14:02:22.920 に答える
0

PHP で HEX 値をデコードするには、次のいずれかを使用します。

current(unpack('H*', $str))

または:

hex2bin($str);

ただし、パスワードを実際にHEXにエンコードしていないことを願っています

于 2012-09-25T14:03:13.333 に答える