2011-10-04 3 views
0

나는이 질문이 믿을 수 없을 정도로 흔하다는 것을 알고 있지만 다음과 같은 질문을하고있다. (Google은 결과가없고, 다른 질문은 잘못된 소스를 가지고있다.) :가장 좋은 방법은 6char UP/down 문자열을 생성 하시겠습니까? PHP

가장 좋은 방법은 무엇인가? 예를 들어 'aWGuPk'/ 'pZyTFu'또는 어떤 종류의 정렬 (PHP에서)과 같이 임의의 6 문자의 대소 문자를 구별 할 수 있습니까? '최고'라는 말은 코드의 양이 가장 적고 가장 효율적입니다.

죄송합니다.이 항목이 중복되는 경우 SO에서 찾을 수 없습니다.

감사합니다, 카란

+0

아마도이 페이지가 도움이 될 수 있습니다. http://www.laughing-buddha.net/php/lib/password –

+0

감사합니다! :) Google에서 해당 링크를 찾을 수 없습니다. S – Karan

+0

문제 없습니다 ... 기꺼이 도와 드리겠습니다. –

답변

1

이 내가 사용하는 기능입니다 (I 잘라 어딘가에 인터넷에서이 붙여 넣기해야합니다, 위치를 기억 할 수 없습니다!) -

function createRandomString($len=10) { 
    $chars = "abcdefghijkmnopqrstuvwxyz023456789"; 
    srand((double)microtime()*1000000); 
    $i = 0; 
    $pass = '' ; 
    while ($i <= $len) { 
     $num = rand() % 33; 
     $tmp = substr($chars, $num, 1); 
     $pass = $pass . $tmp; 
     $i++; 
    } 
    return $pass; 
} 

사용 : -

$myStr = createRandomString(6); 

혼합 경우 당신이 원하는 경우 $에 대문자 문자를 추가

+0

여기에서 : https://github.com/rickhurst/eatStatic/blob/master/library/eatStatic/eatStatic.class.php – Mido

+0

그건 내 github 프로젝트 중 하나입니다! 나는 내 자신의 라이브러리에서 사용하기 전에 의미했다.) – rickhurst

+0

미안하지만, 거기에 이름을 알지 못했다. – Mido

0

개인적으로 허용되는 문자의 배열을 생성하고 열을 회수 필요한 번호들을 추가하는 array_rand를 사용할 것이다 : 랜덤 문자열을 생성 할 때 또한

// str_split requires PHP5 
$chars = str_split('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'); 
for ($i = 0, $str = ''; $i < 6; ++$i) { 
    $str .= $chars[array_rand($chars)]; 
} 

를, I는 사용자에게 표시 될 것임을 실수로 불쾌감을주는 단어를 피하기 위해 숯불 목록에서 모음을 제거하는 경향이 있습니다.

관련 문제