2017-03-07 140 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

相关问题