If a=b ^ c; then b=a ^ c (^ は XOR を意味します)。PHP は、まず文字をバイナリ ASCII 値に変換し、これらの値に対して XOR を実行し、ASCII に変換した後に結果を取得します。値を文字に変換するには原理が遅すぎるため、実装されたコードを直接貼り付けます:
コードをコピーします コードは次のとおりです:
echo ' ';
$str='Hello world';
function jiami($str,$key){
$key=md5($key);
$k=md5(rand(0,100));// 動的キーと同等
$k=substr($k,0,3);
$tmp="";
for($i=0;$i $tmp.=substr($ str,$i,1) ^ substr($key,$i,1);
}
returnbase64_encode($k.$tmp);
}
function jiemi($str,$key){
$len=strlen ($str);
$key=md5($key);
$str=base64_decode($str);
$str=substr($str,3,$len-3);
$tmp="";
for($i=0;$i $tmp.=substr($str,$i,1) ^ substr($key,$i,1);
}
return $tmp;
}
$key='cc';
$jh=jiami($str, $key);
echo '暗号化前:'.$str.'
';
echo '暗号化後:'.$jh.'
';
echo '復号後: '.jiemi($jh, $key).'
';
この関数は実装できる可能性があります改良あり シンプルな暗号化と復号化です
http://www.bkjia.com/PHPjc/313657.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/313657.html技術記事 a=b ^ c; の場合、b=a ^ c (^ は XOR を意味します)。PHP はまず文字をバイナリ ASCII 値に変換し、これらの値に対して XOR を実行して、ASCII 値を変換します。 .