Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menjana Rentetan 5 Aksara Rawak dengan Penduaan Minimum?
Menjana Rentetan 5 Aksara Rawak dengan Penduaan Minimum
Soalan: Bagaimana saya boleh menjana rentetan dengan tepat dengan tepat 5 aksara rawak dengan kebarangkalian pendua yang paling rendah?
Jawapan:
Kaedah 1:
<code class="php">$rand = substr(md5(microtime()), rand(0, 26), 5);</code>
Kaedah 2:
<code class="php">$seed = str_split('abcdefghijklmnopqrstuvwxyz' . 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' . '0123456789!@#$%^&*()'); shuffle($seed); $rand = ''; foreach (array_rand($seed, 5) as $k) $rand .= $seed[$k];</code>
Kaedah 3:
<code class="php">function incrementalHash($len = 5) { $charset = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; $base = strlen($charset); $result = ''; $now = explode(' ', microtime())[1]; while ($now >= $base) { $i = (int)$now % $base; $result = $charset[$i] . $result; $now /= $base; } return substr(str_repeat($charset[0], $len) . $result, -$len); }</code>
Nota: Untuk aplikasi keselamatan tinggi, disyorkan untuk menggunakan yang lebih mantap penjana nombor rawak.
Atas ialah kandungan terperinci Bagaimana untuk Menjana Rentetan 5 Aksara Rawak dengan Penduaan Minimum?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!