2017-03-07 1 views
0

ich einen eindeutigen Schlüssel aus zwei Saiten erzeugen will, string a und string b. string a ist bereits ein eindeutiger Schlüssel der Länge von 8 bis 20 chars, während String b ist nicht einzigartig mit der gleichen Länge von 8 bis 20 chars. Der Zielschlüssel muss schwer zu erraten sein, einzigartig und hat eine feste Länge von 10 Zeichen. Ich habe einige Kombinationen von mad5(), uniqueid() und rand() Funktionen versucht, aber Ziel-String überschreitet das Limit von 10 chars jedes Mal. Wie kann ich Schlüssel von 10 chars bekommen?erstellen eindeutige Zeichenfolge aus zwei anderen Saiten (eine davon ist einzigartig und andere nicht)

Antwort

1

Ihre Zielschlüssel wird in der DB gespeichert Unter der Annahme.

$string1 = 'some_unique_string'; 
$string2 = 'any_other_string'; 

do{ 
    $target_string = sub_str(str_shuffle($string1.$string2),0,10); 
    $sql='select * from table_name where targetKeyColoumn = "'.$$target_string.'"'; //add sql injection prevention 
    $result = mysqli_query($dbConectionResource, $sql); 
    $row_cnt = mysqli_num_rows($result); 
    }while($row_cnt); //if its 0, come out from loop 

echo $target_string; 

Hoffe, das wird helfen.

2

Sie können alle Zeichen von a und b in ein Array setzen, um das Array mischen, so dass sie dann zufällig von 0 in einer Schleife herausziehen bis 9

Verwandte Themen