我要生成两个字符串的唯一密钥,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