Home  >  Article  >  Backend Development  >  有环境的兄弟姐妹帮忙运作下

有环境的兄弟姐妹帮忙运作下

WBOY
WBOYOriginal
2016-06-13 12:14:571152browse

有环境的兄弟姐妹帮忙运行下。
测试数据$str1=“1149395524”,$str2=“4255390370”

//xor
function my_xor($text,$key)
{
    $i = 0;
    $encrypted = "";
    foreach (str_split($text) as $char) {
        $encrypted .= chr(ord($char) ^ ord($key{$i++ % strlen($key)}));
    }
    return $encrypted;
}

//base64 encode
function my_generate_sign($str1,$str2)
{
    $xorstr = my_xor($str1,$str2);
    return base64_encode($xorstr);
}

我根据这个写了JAVA的XOR 和 base64 加密,但得出的数据好像不一样,麻烦有环境的朋友帮我运行下,顺便解释下my_xor($text,$key)方法,看我是否理解错误了。
------解决思路----------------------
BQMBDAAABQYFBA==

java 得什么?
------解决思路----------------------

$text = '1149395524';<br />$key = '4255390370';<br />$s = my_xor($text, $key);<br />echo base64_encode($s), PHP_EOL;//因为含有不可见字符,所以需要做 base64 编码。你解码就还原了<br />print_r(unpack('C*', $s)); //十进制内码<br /><br />//xor<br />function my_xor($text,$key)<br />{<br />    $i = 0;<br />    $encrypted = "";<br />    foreach (str_split($text) as $char) {<br />        $encrypted .= chr(ord($char) ^ ord($key{$i++ % strlen($key)}));<br />    }<br />    return $encrypted;<br />}
BQMBDAAABQYFBA==<br />Array<br />(<br />    [1] => 5<br />    [2] => 3<br />    [3] => 1<br />    [4] => 12<br />    [5] => 0<br />    [6] => 0<br />    [7] => 5<br />    [8] => 6<br />    [9] => 5<br />    [10] => 4<br />)<br /><br />

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn