从其他两个字符串中创建唯一的字符串(一个是唯一的,另一个不是)



我想从两个字符串中生成一个唯一键, string a string b string a 已经是8至20 chars的唯一长度键,而字符串B并非唯一,长度为8至20 chars。目标键必须很难猜测,独特,并且固定长度为10个字符。我尝试了mad5()uniqueid()rand()功能的一些组合,但是目标字符串每次都超过10 chars的限制。我如何获得10 chars的钥匙?

您可以将所有字符从A和B放入数组中,洗牌数组,然后将它们从0到9

随机拉出。

假设您的目标键存储在DB中。

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

希望这会有所帮助。