PHPで書かれたパスポート復号化関数
リリース: 2016-07-25 09:02:53
-
-
/** - * パスポート復号化関数
- *
- * @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;
- }
- ?>
-
コードをコピー
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31