我要生成兩個字符串的唯一密鑰,string a
和string b
。 string a
已經是唯一的長度爲8到20的密鑰,而字符串b不是唯一的,長度爲8到20的長度相同。目標密鑰必須難以猜測,唯一且固定長度爲10個字符。我嘗試了mad5()
,uniqueid()
和rand()
函數的某些組合,但目標字符串每次都超過了10個chars
的限制。我怎樣才能得到10 chars
的鑰匙?從其他兩個字符串創建唯一的字符串(一個是獨特的,另一種是不)
0
A
回答
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
相關問題
- 1. 確定一個字符串是不是另一個字符串
- 2. 從另一個字符串中創建一個字符串?
- 3. 檢查一個字符串是否是其他兩個給定的字符串
- 4. 當是一個字符串不是一個字符串
- 5. 一個字符串查找是否有另一個字符串
- 6. 搜索一個字符串是否另一個字符串
- 7. 檢查是否可以從另一個字符串中的字符中創建一個字符串
- 8. 確定是否可以從另一個字符串中的字符子集創建一個字符串
- 9. 檢查其他字符串的列表是否爲%LIKE%另一個字符串
- 10. 判斷一個字符串是否是另一個子字符
- 11. 創建一個唯一的字母數字10個字符的字符串
- 12. 創建一個從其他字符串單串
- 13. C - 檢查字符串是否是另一個字符串的子字符串
- 14. 提取字符串,它是存在於一個字符串,而不是其他
- 15. 我如何檢查一個字符串是否是另一個字符串的子字符串,其他字符是下劃線+數字?
- 16. 從另一字符串中提取字符串兩個特定字符
- 17. 將一個字符串的第一個實例替換爲一個變量或其他唯一字符串
- 18. spinner.OnItemClickSelected恢復一個字符串,而不是兩個獨立的字符串從兩個微調
- 19. C - 從另一個字符串中減去一個字符串
- 20. 從舊的字符串創建一個新的字符串
- 21. 測試字符串是以另一個字符串開始還是以另一個字符串結尾
- 22. 找出一個字符串是否包含唯一字符
- 23. 爲每個唯一的長字符串創建一個簡短的唯一字符串
- 24. 檢查字符串的子是另一個字符串
- 25. UTF-8字符串解碼破壞一個字符串,但不是另一個
- 26. 從一個被扣除的字符串列中創建兩個字符串列
- 27. push_back從一個字符串到另一個字符串的字符
- 28. 找到一個字符串是否是SML中另一個字符串的子字符串NJ
- 29. 創建一個串聯的字符串
- 30. Genrate基於另一個字符串的唯一數字字符串iOS