중복을 최소화하여 임의의 5자 문자열 생성
질문: 정확히 일치하는 문자열을 어떻게 효율적으로 생성할 수 있습니까? 중복 확률이 가장 낮은 임의의 문자 5개?
정답:
방법 1:
<code class="php">$rand = substr(md5(microtime()), rand(0, 26), 5);</code>
방법 2:
<code class="php">$seed = str_split('abcdefghijklmnopqrstuvwxyz' . 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' . '0123456789!@#$%^&*()'); shuffle($seed); $rand = ''; foreach (array_rand($seed, 5) as $k) $rand .= $seed[$k];</code>
방법 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>
참고: 보안 수준이 높은 애플리케이션의 경우 더 강력한 것을 사용하는 것이 좋습니다. 난수 생성기
위 내용은 최소한의 중복으로 임의의 5자 문자열을 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!