diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-02-01 02:28:10 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-02-01 02:28:10 +0900 |
| commit | cd16ed5d6b46d91ae9ac7b2237d6405ad6715a4a (patch) | |
| tree | 0e00d7caf3031fa86decaa0cbc226cc1e521b914 /services/nuldoc/public/blog/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html | |
| parent | d08e3edb65b215152aa26e3518fb2f2cd7071c4b (diff) | |
| parent | 1964f77d03eb647dcf46d63dde68d7ae7301604f (diff) | |
| download | nsfisis.dev-cd16ed5d6b46d91ae9ac7b2237d6405ad6715a4a.tar.gz nsfisis.dev-cd16ed5d6b46d91ae9ac7b2237d6405ad6715a4a.tar.zst nsfisis.dev-cd16ed5d6b46d91ae9ac7b2237d6405ad6715a4a.zip | |
Merge branch 'feat/ruby-rewrite'
Diffstat (limited to 'services/nuldoc/public/blog/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html')
| -rw-r--r-- | services/nuldoc/public/blog/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html | 103 |
1 files changed, 56 insertions, 47 deletions
diff --git a/services/nuldoc/public/blog/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html b/services/nuldoc/public/blog/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html index 2c82b081..4cccc732 100644 --- a/services/nuldoc/public/blog/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html +++ b/services/nuldoc/public/blog/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html @@ -102,27 +102,28 @@ 注意: これはボツ問なので、得られたトークンを PHPerKaigi で入力してもポイントにはならない。 </p> <div class="codeblock"> - <pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#D73A49"><?</span><span style="color:#005CC5">php</span></span> -<span class="line"></span> -<span class="line"><span style="color:#24292E">$π </span><span style="color:#D73A49">=</span><span style="color:#24292E"> $argv[</span><span style="color:#005CC5">1</span><span style="color:#24292E">] </span><span style="color:#D73A49">??</span><span style="color:#005CC5"> null</span><span style="color:#24292E">;</span></span> -<span class="line"><span style="color:#D73A49">if</span><span style="color:#24292E"> ($π </span><span style="color:#D73A49">===</span><span style="color:#005CC5"> null</span><span style="color:#24292E">) {</span></span> -<span class="line"><span style="color:#D73A49"> exit</span><span style="color:#24292E">(</span><span style="color:#032F62">'No input.'</span><span style="color:#24292E">);</span></span> -<span class="line"><span style="color:#24292E">}</span></span> -<span class="line"><span style="color:#24292E">$π </span><span style="color:#D73A49">=</span><span style="color:#005CC5"> trim</span><span style="color:#24292E">($π);</span></span> -<span class="line"><span style="color:#D73A49">if</span><span style="color:#24292E"> (</span><span style="color:#D73A49">!</span><span style="color:#005CC5">is_numeric</span><span style="color:#24292E">($π)) {</span></span> -<span class="line"><span style="color:#D73A49"> exit</span><span style="color:#24292E">(</span><span style="color:#032F62">'Invalid input.'</span><span style="color:#24292E">);</span></span> -<span class="line"><span style="color:#24292E">}</span></span> -<span class="line"></span> -<span class="line"><span style="color:#24292E">$s </span><span style="color:#D73A49">=</span><span style="color:#005CC5"> implode</span><span style="color:#24292E">(</span><span style="color:#005CC5">array_map</span><span style="color:#24292E">(</span><span style="color:#005CC5">chr</span><span style="color:#24292E">(</span><span style="color:#D73A49">...</span><span style="color:#24292E">), </span><span style="color:#005CC5">str_split</span><span style="color:#24292E">($π, </span><span style="color:#005CC5">2</span><span style="color:#24292E">)));</span></span> -<span class="line"></span> -<span class="line"><span style="color:#005CC5">preg_match</span><span style="color:#24292E">(</span><span style="color:#032F62">'/(</span><span style="color:#22863A;font-weight:bold">\x</span><span style="color:#032F62">23.</span><span style="color:#D73A49">+</span><span style="color:#032F62">?) /'</span><span style="color:#24292E">, $s, $m);</span></span> -<span class="line"><span style="color:#24292E">$t </span><span style="color:#D73A49">=</span><span style="color:#24292E"> $m[</span><span style="color:#005CC5">1</span><span style="color:#24292E">] </span><span style="color:#D73A49">??</span><span style="color:#032F62"> ''</span><span style="color:#24292E">;</span></span> -<span class="line"></span> -<span class="line"><span style="color:#D73A49">if</span><span style="color:#24292E"> (</span><span style="color:#005CC5">md5</span><span style="color:#24292E">($t) </span><span style="color:#D73A49">===</span><span style="color:#032F62"> '056e831a4146bf123e8ea16613303d2e'</span><span style="color:#24292E">) {</span></span> -<span class="line"><span style="color:#005CC5"> echo</span><span style="color:#032F62"> "Token: {</span><span style="color:#24292E">$t</span><span style="color:#032F62">}</span><span style="color:#005CC5">\n</span><span style="color:#032F62">"</span><span style="color:#24292E">;</span></span> -<span class="line"><span style="color:#24292E">} </span><span style="color:#D73A49">else</span><span style="color:#24292E"> {</span></span> -<span class="line"><span style="color:#005CC5"> echo</span><span style="color:#032F62"> "Failed.</span><span style="color:#005CC5">\n</span><span style="color:#032F62">"</span><span style="color:#24292E">;</span></span> -<span class="line"><span style="color:#24292E">}</span></span></code></pre> + <pre class="highlight" style="background-color:#f5f5f5"><code><span style="color: #6e7781"><?php</span> + +<span style="color: #0550ae">$π</span> <span style="color: #0550ae">=</span> <span style="color: #0550ae">$argv</span><span style="color: #24292f;background-color: #f6f8fa">[</span><span style="color: #0550ae">1</span><span style="color: #24292f;background-color: #f6f8fa">]</span> <span style="color: #0550ae">??</span> <span style="color: #0550ae">null</span><span style="color: #24292f;background-color: #f6f8fa">;</span> +<span style="color: #cf222e">if</span> <span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0550ae">$π</span> <span style="color: #0550ae">===</span> <span style="color: #0550ae">null</span><span style="color: #24292f;background-color: #f6f8fa">)</span> <span style="color: #24292f;background-color: #f6f8fa">{</span> + <span style="color: #cf222e">exit</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0a3069">'No input.'</span><span style="color: #24292f;background-color: #f6f8fa">);</span> +<span style="color: #24292f;background-color: #f6f8fa">}</span> +<span style="color: #0550ae">$π</span> <span style="color: #0550ae">=</span> <span style="color: #953800">trim</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0550ae">$π</span><span style="color: #24292f;background-color: #f6f8fa">);</span> +<span style="color: #cf222e">if</span> <span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0550ae">!</span><span style="color: #953800">is_numeric</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0550ae">$π</span><span style="color: #24292f;background-color: #f6f8fa">))</span> <span style="color: #24292f;background-color: #f6f8fa">{</span> + <span style="color: #cf222e">exit</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0a3069">'Invalid input.'</span><span style="color: #24292f;background-color: #f6f8fa">);</span> +<span style="color: #24292f;background-color: #f6f8fa">}</span> + +<span style="color: #0550ae">$s</span> <span style="color: #0550ae">=</span> <span style="color: #953800">implode</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #953800">array_map</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #953800">chr</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0550ae">...</span><span style="color: #24292f;background-color: #f6f8fa">),</span> <span style="color: #953800">str_split</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0550ae">$π</span><span style="color: #24292f;background-color: #f6f8fa">,</span> <span style="color: #0550ae">2</span><span style="color: #24292f;background-color: #f6f8fa">)));</span> + +<span style="color: #953800">preg_match</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0a3069">'/(\x23.+?) /'</span><span style="color: #24292f;background-color: #f6f8fa">,</span> <span style="color: #0550ae">$s</span><span style="color: #24292f;background-color: #f6f8fa">,</span> <span style="color: #0550ae">$m</span><span style="color: #24292f;background-color: #f6f8fa">);</span> +<span style="color: #0550ae">$t</span> <span style="color: #0550ae">=</span> <span style="color: #0550ae">$m</span><span style="color: #24292f;background-color: #f6f8fa">[</span><span style="color: #0550ae">1</span><span style="color: #24292f;background-color: #f6f8fa">]</span> <span style="color: #0550ae">??</span> <span style="color: #0a3069">''</span><span style="color: #24292f;background-color: #f6f8fa">;</span> + +<span style="color: #cf222e">if</span> <span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #953800">md5</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0550ae">$t</span><span style="color: #24292f;background-color: #f6f8fa">)</span> <span style="color: #0550ae">===</span> <span style="color: #0a3069">'056e831a4146bf123e8ea16613303d2e'</span><span style="color: #24292f;background-color: #f6f8fa">)</span> <span style="color: #24292f;background-color: #f6f8fa">{</span> + <span style="color: #cf222e">echo</span> <span style="color: #0a3069">"Token: </span><span style="color: #24292f">{</span><span style="color: #0550ae">$t</span><span style="color: #24292f">}</span><span style="color: #0a3069">\n</span><span style="color: #0a3069">"</span><span style="color: #24292f;background-color: #f6f8fa">;</span> +<span style="color: #24292f;background-color: #f6f8fa">}</span> <span style="color: #cf222e">else</span> <span style="color: #24292f;background-color: #f6f8fa">{</span> + <span style="color: #cf222e">echo</span> <span style="color: #0a3069">"Failed.</span><span style="color: #0a3069">\n</span><span style="color: #0a3069">"</span><span style="color: #24292f;background-color: #f6f8fa">;</span> +<span style="color: #24292f;background-color: #f6f8fa">}</span> +</code></pre> </div> </section> <section id="section--how-to-obtain-token"> @@ -131,15 +132,17 @@ ソースを見るとわかるとおり、<code>$argv[1]</code> を参照している。それを <code>$π</code> なる変数に代入しているので、円周率を渡してみる。 </p> <div class="codeblock"> - <pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span>$ php Q.php 3.14</span></span> -<span class="line"><span>Failed.</span></span></code></pre> + <pre class="highlight" style="background-color:#f5f5f5"><code><span style="color: #24292f;background-color: #f6f8fa">$</span><span style="color: #24292f;background-color: #f6f8fa"> </span>php Q.php 3.14 +<span style="color: #24292f;background-color: #f6f8fa">Failed.</span> +</code></pre> </div> <p> 失敗してしまった。精度を上げてみる。 </p> <div class="codeblock"> - <pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span>$ php Q.php 3.1415</span></span> -<span class="line"><span>Failed.</span></span></code></pre> + <pre class="highlight" style="background-color:#f5f5f5"><code><span style="color: #24292f;background-color: #f6f8fa">$</span><span style="color: #24292f;background-color: #f6f8fa"> </span>php Q.php 3.1415 +<span style="color: #24292f;background-color: #f6f8fa">Failed.</span> +</code></pre> </div> <p> だめだった。これを成功するまで繰り返す。 @@ -148,8 +151,9 @@ 最初にトークンが得られるのは、小数点以下 16 桁目まで入力したときで、こうなる。 </p> <div class="codeblock"> - <pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span>$ php Q.php 3.1415926535897932</span></span> -<span class="line"><span>Token: #YO</span></span></code></pre> + <pre class="highlight" style="background-color:#f5f5f5"><code><span style="color: #24292f;background-color: #f6f8fa">$</span><span style="color: #24292f;background-color: #f6f8fa"> </span>php Q.php 3.1415926535897932 +<span style="color: #24292f;background-color: #f6f8fa">Token: #</span>YO +</code></pre> </div> <p> めでたくトークン「<code>#YO</code>」が手に入った。 @@ -161,20 +165,22 @@ 短いので頭から追っていく。 </p> <div class="codeblock"> - <pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#24292E">$π </span><span style="color:#D73A49">=</span><span style="color:#24292E"> $argv[</span><span style="color:#005CC5">1</span><span style="color:#24292E">] </span><span style="color:#D73A49">??</span><span style="color:#005CC5"> null</span><span style="color:#24292E">;</span></span> -<span class="line"><span style="color:#D73A49">if</span><span style="color:#24292E"> ($π </span><span style="color:#D73A49">===</span><span style="color:#005CC5"> null</span><span style="color:#24292E">) {</span></span> -<span class="line"><span style="color:#D73A49"> exit</span><span style="color:#24292E">(</span><span style="color:#032F62">'No input.'</span><span style="color:#24292E">);</span></span> -<span class="line"><span style="color:#24292E">}</span></span> -<span class="line"><span style="color:#24292E">$π </span><span style="color:#D73A49">=</span><span style="color:#005CC5"> trim</span><span style="color:#24292E">($π);</span></span> -<span class="line"><span style="color:#D73A49">if</span><span style="color:#24292E"> (</span><span style="color:#D73A49">!</span><span style="color:#005CC5">is_numeric</span><span style="color:#24292E">($π)) {</span></span> -<span class="line"><span style="color:#D73A49"> exit</span><span style="color:#24292E">(</span><span style="color:#032F62">'Invalid input.'</span><span style="color:#24292E">);</span></span> -<span class="line"><span style="color:#24292E">}</span></span></code></pre> + <pre class="highlight" style="background-color:#f5f5f5"><code><span style="color: #0550ae">$π</span> <span style="color: #0550ae">=</span> <span style="color: #0550ae">$argv</span><span style="color: #24292f;background-color: #f6f8fa">[</span><span style="color: #0550ae">1</span><span style="color: #24292f;background-color: #f6f8fa">]</span> <span style="color: #0550ae">??</span> <span style="color: #0550ae">null</span><span style="color: #24292f;background-color: #f6f8fa">;</span> +<span style="color: #cf222e">if</span> <span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0550ae">$π</span> <span style="color: #0550ae">===</span> <span style="color: #0550ae">null</span><span style="color: #24292f;background-color: #f6f8fa">)</span> <span style="color: #24292f;background-color: #f6f8fa">{</span> + <span style="color: #cf222e">exit</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0a3069">'No input.'</span><span style="color: #24292f;background-color: #f6f8fa">);</span> +<span style="color: #24292f;background-color: #f6f8fa">}</span> +<span style="color: #0550ae">$π</span> <span style="color: #0550ae">=</span> <span style="color: #953800">trim</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0550ae">$π</span><span style="color: #24292f;background-color: #f6f8fa">);</span> +<span style="color: #cf222e">if</span> <span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0550ae">!</span><span style="color: #953800">is_numeric</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0550ae">$π</span><span style="color: #24292f;background-color: #f6f8fa">))</span> <span style="color: #24292f;background-color: #f6f8fa">{</span> + <span style="color: #cf222e">exit</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0a3069">'Invalid input.'</span><span style="color: #24292f;background-color: #f6f8fa">);</span> +<span style="color: #24292f;background-color: #f6f8fa">}</span> +</code></pre> </div> <p> 入力のバリデーション部分。数値のみ受け付ける。 </p> <div class="codeblock"> - <pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#24292E">$s </span><span style="color:#D73A49">=</span><span style="color:#005CC5"> implode</span><span style="color:#24292E">(</span><span style="color:#005CC5">array_map</span><span style="color:#24292E">(</span><span style="color:#005CC5">chr</span><span style="color:#24292E">(</span><span style="color:#D73A49">...</span><span style="color:#24292E">), </span><span style="color:#005CC5">str_split</span><span style="color:#24292E">($π, </span><span style="color:#005CC5">2</span><span style="color:#24292E">)));</span></span></code></pre> + <pre class="highlight" style="background-color:#f5f5f5"><code><span style="color: #0550ae">$s</span> <span style="color: #0550ae">=</span> <span style="color: #953800">implode</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #953800">array_map</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #953800">chr</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0550ae">...</span><span style="color: #24292f;background-color: #f6f8fa">),</span> <span style="color: #953800">str_split</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0550ae">$π</span><span style="color: #24292f;background-color: #f6f8fa">,</span> <span style="color: #0550ae">2</span><span style="color: #24292f;background-color: #f6f8fa">)));</span> +</code></pre> </div> <p> <code>$π</code> を 2 文字ごとに区切り (<code>str_split</code>)、数値を ASCII コードと見做して文字に変換 (<code>chr</code>) して結合 (<code>implode</code>) している。 @@ -183,14 +189,16 @@ 例えば、<code>$π</code> が <code>'656667'</code> だったとすると、<code>65</code>、<code>66</code>、<code>67</code> に対応した <code>'A'</code>、<code>'B'</code>、<code>'C'</code> へと変換され、<code>'ABC'</code> になる。 </p> <div class="codeblock"> - <pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#24292E">$π </span><span style="color:#D73A49">=</span><span style="color:#032F62"> '656667'</span><span style="color:#24292E">;</span></span> -<span class="line"><span style="color:#24292E">$s </span><span style="color:#D73A49">=</span><span style="color:#005CC5"> implode</span><span style="color:#24292E">(</span><span style="color:#005CC5">array_map</span><span style="color:#24292E">(</span><span style="color:#005CC5">chr</span><span style="color:#24292E">(</span><span style="color:#D73A49">...</span><span style="color:#24292E">), </span><span style="color:#005CC5">str_split</span><span style="color:#24292E">($π, </span><span style="color:#005CC5">2</span><span style="color:#24292E">)));</span></span> -<span class="line"><span style="color:#005CC5">echo</span><span style="color:#24292E"> $s;</span></span> -<span class="line"><span style="color:#6A737D">// => ABC</span></span></code></pre> + <pre class="highlight" style="background-color:#f5f5f5"><code><span style="color: #0550ae">$π</span> <span style="color: #0550ae">=</span> <span style="color: #0a3069">'656667'</span><span style="color: #24292f;background-color: #f6f8fa">;</span> +<span style="color: #0550ae">$s</span> <span style="color: #0550ae">=</span> <span style="color: #953800">implode</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #953800">array_map</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #953800">chr</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0550ae">...</span><span style="color: #24292f;background-color: #f6f8fa">),</span> <span style="color: #953800">str_split</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0550ae">$π</span><span style="color: #24292f;background-color: #f6f8fa">,</span> <span style="color: #0550ae">2</span><span style="color: #24292f;background-color: #f6f8fa">)));</span> +<span style="color: #cf222e">echo</span> <span style="color: #0550ae">$s</span><span style="color: #24292f;background-color: #f6f8fa">;</span> +<span style="color: #6e7781">// => ABC</span> +</code></pre> </div> <div class="codeblock"> - <pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#005CC5">preg_match</span><span style="color:#24292E">(</span><span style="color:#032F62">'/(</span><span style="color:#22863A;font-weight:bold">\x</span><span style="color:#032F62">23.</span><span style="color:#D73A49">+</span><span style="color:#032F62">?) /'</span><span style="color:#24292E">, $s, $m);</span></span> -<span class="line"><span style="color:#24292E">$t </span><span style="color:#D73A49">=</span><span style="color:#24292E"> $m[</span><span style="color:#005CC5">1</span><span style="color:#24292E">] </span><span style="color:#D73A49">??</span><span style="color:#032F62"> ''</span><span style="color:#24292E">;</span></span></code></pre> + <pre class="highlight" style="background-color:#f5f5f5"><code><span style="color: #953800">preg_match</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0a3069">'/(\x23.+?) /'</span><span style="color: #24292f;background-color: #f6f8fa">,</span> <span style="color: #0550ae">$s</span><span style="color: #24292f;background-color: #f6f8fa">,</span> <span style="color: #0550ae">$m</span><span style="color: #24292f;background-color: #f6f8fa">);</span> +<span style="color: #0550ae">$t</span> <span style="color: #0550ae">=</span> <span style="color: #0550ae">$m</span><span style="color: #24292f;background-color: #f6f8fa">[</span><span style="color: #0550ae">1</span><span style="color: #24292f;background-color: #f6f8fa">]</span> <span style="color: #0550ae">??</span> <span style="color: #0a3069">''</span><span style="color: #24292f;background-color: #f6f8fa">;</span> +</code></pre> </div> <p> 正規表現でマッチングしている。<code>\x23</code> は <code>#</code> と同じであることに留意すると、この正規表現は「<code>#</code> から始まる 2 以上の長さ (含 <code>#</code>) の文字列で、最初に現れるスペースまで」にマッチする。つまりこれは、PHPerKaigi におけるトークンである。 @@ -199,11 +207,12 @@ なお、<code>#</code> を直接書いていないのは、<code>/#.+?) /</code> と書くと、<code>#.+?)</code> という意図せぬトークンが登録されてしまうからである。 </p> <div class="codeblock"> - <pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#D73A49">if</span><span style="color:#24292E"> (</span><span style="color:#005CC5">md5</span><span style="color:#24292E">($t) </span><span style="color:#D73A49">===</span><span style="color:#032F62"> '056e831a4146bf123e8ea16613303d2e'</span><span style="color:#24292E">) {</span></span> -<span class="line"><span style="color:#005CC5"> echo</span><span style="color:#032F62"> "Token: {</span><span style="color:#24292E">$t</span><span style="color:#032F62">}</span><span style="color:#005CC5">\n</span><span style="color:#032F62">"</span><span style="color:#24292E">;</span></span> -<span class="line"><span style="color:#24292E">} </span><span style="color:#D73A49">else</span><span style="color:#24292E"> {</span></span> -<span class="line"><span style="color:#005CC5"> echo</span><span style="color:#032F62"> "Failed.</span><span style="color:#005CC5">\n</span><span style="color:#032F62">"</span><span style="color:#24292E">;</span></span> -<span class="line"><span style="color:#24292E">}</span></span></code></pre> + <pre class="highlight" style="background-color:#f5f5f5"><code><span style="color: #cf222e">if</span> <span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #953800">md5</span><span style="color: #24292f;background-color: #f6f8fa">(</span><span style="color: #0550ae">$t</span><span style="color: #24292f;background-color: #f6f8fa">)</span> <span style="color: #0550ae">===</span> <span style="color: #0a3069">'056e831a4146bf123e8ea16613303d2e'</span><span style="color: #24292f;background-color: #f6f8fa">)</span> <span style="color: #24292f;background-color: #f6f8fa">{</span> + <span style="color: #cf222e">echo</span> <span style="color: #0a3069">"Token: </span><span style="color: #24292f">{</span><span style="color: #0550ae">$t</span><span style="color: #24292f">}</span><span style="color: #0a3069">\n</span><span style="color: #0a3069">"</span><span style="color: #24292f;background-color: #f6f8fa">;</span> +<span style="color: #24292f;background-color: #f6f8fa">}</span> <span style="color: #cf222e">else</span> <span style="color: #24292f;background-color: #f6f8fa">{</span> + <span style="color: #cf222e">echo</span> <span style="color: #0a3069">"Failed.</span><span style="color: #0a3069">\n</span><span style="color: #0a3069">"</span><span style="color: #24292f;background-color: #f6f8fa">;</span> +<span style="color: #24292f;background-color: #f6f8fa">}</span> +</code></pre> </div> <p> 最後にトークンのハッシュ値を見て、想定解かどうかを確認する。 |
