2017-03-07 144 views
0

我要生成兩個字符串的唯一密鑰,string astring bstring a已經是唯一的長度爲8到20的密鑰,而字符串b不是唯一的,長度爲8到20的長度相同。目標密鑰必須難以猜測,唯一且固定長度爲10個字符。我嘗試了mad5(),uniqueid()rand()函數的某些組合,但目標字符串每次都超過了10個chars的限制。我怎樣才能得到10 chars的鑰匙?從其他兩個字符串創建唯一的字符串(一個是獨特的,另一種是不)

回答

1

假設你的目標密鑰存儲在數據庫中。

$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; 

希望這會有所幫助。

2

你可以把從A和B中的所有字符到一個數組,洗牌數組,然後在循環中隨機拉出來,從0到9

相關問題