고정 길이의 무작위 문자열 생성
중복을 최소화하면서 5자의 무작위 문자열을 효율적으로 생성하는 방법을 개발하려고 합니다. 개연성. 다음 접근 방식을 고려하십시오.
$rand = substr(md5(microtime()),rand(0,26),5);
이 접근 방식은 MD5 해싱을 활용하고 무작위로 생성된 해시에서 5자를 반환합니다. string.
$seed = str_split('abcdefghijklmnopqrstuvwxyz' .'ABCDEFGHIJKLMNOPQRSTUVWXYZ' .'0123456789!@#$%^&*()'); shuffle($seed); // optional $rand = ''; foreach (array_rand($seed, 5) as $k) $rand .= $seed[$k];
이 방법은 문자 배열을 생성하고 무작위로 섞습니다. 5자를 선택하여 문자열에 추가합니다.
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); }
이 접근 방식은 마이크로타임을 활용하여 현재 시간을 기준으로 한 의사 무작위 해시 문자열입니다. 점차적으로 변화하는 해시 값을 생성합니다. 이 방법은 민감한 데이터의 경우 보안 수준이 낮을 수 있습니다.
위 내용은 고정 길이의 무작위 문자열을 효율적으로 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!