我想从两个字符串 string a
和 string b
生成一个唯一键。
string a
已经是长度为8到20 chars
的唯一键,而字符串b不是唯一的,长度相同,为8到20 chars
。目标键必须难以猜测,唯一且具有10个字符的固定长度。我尝试了mad5()
,uniqueid()
和rand()
函数的某些组合,但目标字符串每次都超过10 chars
的限制。如何获得10 chars
的密钥?
答案 0 :(得分:2)
你可以将a和b中的所有字符放入一个数组中,对数组进行洗牌,然后在0到9的循环中随机抽出它们
答案 1 :(得分: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;
希望这会有所帮助。