/*** パスポート復号化関数** @param string 暗号化された文字列* @param string 秘密鍵 (復号化と暗号化に使用)** @return string 秘密鍵結果によって復号化された文字列*/functionパスポート_decrypt($txt, $key) { // $txtの結果暗号化された文字列は Base64 デコードされ、秘密鍵とともに //passport_key() 関数による処理後の戻り値 $txt =passport_key(base64_decode($txt), $key); //変数の初期化 $tmp = ''; // for ループ、$i は 0 から始まり $txt 文字列の長さで終わる整数です for ($i = 0; $i < strlen($txt); $i++) { // $tmp 文字列は最後に 1 ビットを追加し、その内容は $txt の $i 番目のビットです、 // と $txt ビット $i + 1 の XOR をとります。 $i = $i + 1 $tmp .= $txt[$i] ^ $txt[++$i]; } // $tmp の値を次のように返します。結果 return $tmp; } /** * パスポートキー処理関数 * * @param string 暗号化または復号する文字列 * @param string 秘密鍵(復号および暗号化用) * * @return string 処理された鍵 */ functionパスポート_key($txt, $encrypt_key) { p> // md5() の後に $encrypt_key の値を代入 $encrypt_key = md5($encrypt_key); // 変数の初期化 $ctr = 0 ; $tmp = ''; // for ループ、$i は 0 から $txt 文字列の長さ未満までの整数です for($i = 0; $i < ; strlen($txt); $i++) { // $ctr = $encrypt_key の長さの場合、$ctr はクリアされます $ctr = $ctr == strlen($encrypt_key) ? // $tmp 文字列は最後に 1 ビットを追加します。その内容は $txt の $i 番目のビットで、 // は $ctr + $encrypt_key の 1 番目のビットと XOR 演算されます。 $ctr = $ctr + 1 $tmp .= $txt[$i] ^ $encrypt_key[$ctr++]; } // $tmp の値を結果として返します return $tmp; } ?> コードをコピー