> 백엔드 개발 > PHP 튜토리얼 > 求php高手,看上这一段加密算法的原理

求php高手,看上这一段加密算法的原理

WBOY
풀어 주다: 2016-06-13 10:51:31
원래의
769명이 탐색했습니다.

求php高手,看下这一段加密算法的原理

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->function sys_auth($str, $action = 'encode', $key = ''){    $key = md5($key);    $str = $action == 'encode' ? $str : base64_decode($str);            $strlen = strlen($str);        $keylen = strlen($key);        $code = '';    for($i = 0; $i 
로그인 후 복사


我将每句都echo 下的代码:

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->function sys_auth($str, $action = 'encode', $key = ''){    $key = md5($key);    echo '<br>$key:'.$key;    $str = $action == 'encode' ? $str : base64_decode($str);        echo '<br>加密方式的$str:'.$str;        $strlen = strlen($str);    echo '<br>$str长度'.$strlen;        $keylen = strlen($key);    echo '<br>$keylen长度'.$keylen;        $code = '';    for($i = 0; $i 第".$i."次循环的\$k的值是".$k;        $code .= $str[$i] ^ $key[$k];        echo "<br>第".$i.'次循环$k值是'.$k;        echo "<br>第".$i.'次循环$str[$i]值是'.$str[$i];        echo "<br>第".$i.'次循环$key[$k]值是'.$key[$k];        echo "<br>第".$i."次循环的\$code的值是".$code."<br><br><br><br><br>";    }    $code = $action == "decode" ? $code : base64_encode($code);    echo "<br>".$code;    return $code;}得到的结果是:[code=PHP]$key:c81e728d9d4c2f636f067f89cc14862c加密方式的$str:123456$str长度6$keylen长度32第0次循环的$k的值是0第0次循环$k值是0第0次循环$str[$i]值是1第0次循环$key[$k]值是c第0次循环的$code的值是R第1次循环的$k的值是1第1次循环$k值是1第1次循环$str[$i]值是2第1次循环$key[$k]值是8第1次循环的$code的值是R 第2次循环的$k的值是2第2次循环$k值是2第2次循环$str[$i]值是3第2次循环$key[$k]值是1第2次循环的$code的值是R 第3次循环的$k的值是3第3次循环$k值是3第3次循环$str[$i]值是4第3次循环$key[$k]值是e第3次循环的$code的值是R Q第4次循环的$k的值是4第4次循环$k值是4第4次循环$str[$i]值是5第4次循环$key[$k]值是7第4次循环的$code的值是R Q第5次循环的$k的值是5第5次循环$k值是5第5次循环$str[$i]值是6第5次循环$key[$k]值是2第5次循环的$code的值是R QUgoCUQIE加密后:UgoCUQIE
로그인 후 복사

[/code]
 
现在的问题是:第0次循环$str[0]值是1,$key[0]值是c
我直接按照上面的 $str[0]^$key[0],(即1^0)却报错,怎么回事,另外 $str[0]^$key[0]不懂

------解决方案--------------------
手册,运算符
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿