我想创建精确的5个随机字符串,并尽可能减少重复。最好的方法是什么?谢谢。
$rand = substr(md5(microtime()),rand(0,26),5);
这将是我最好的猜测-除非您也要寻找特殊字符:
$seed = str_split('abcdefghijklmnopqrstuvwxyz'
.'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
.'0123456789!@#$%^&*()'); // and any other characters
shuffle($seed); // probably optional since array_is randomized; this may be redundant
$rand = '';
foreach (array_rand($seed, 5) as $k) $rand .= $seed[$k];
例
而且,对于基于时钟的时钟(由于它是递增的,因此冲突较少):
function incrementalHash($len = 5){
$charset = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
$base = strlen($charset);
$result = '';
$now = explode(' ', microtime())[1];
while ($now >= $base){
$i = $now % $base;
$result = $charset[$i] . $result;
$now /= $base;
}
return substr($result, -5);
}
注意:增量意味着更容易猜测; 如果您将其用作盐或验证令牌,请不要使用。盐(现在)为“ WCWyb”表示从现在起5秒钟为“ WCWyg”)
本文向大家介绍PHP 生成随机字符串,包括了PHP 生成随机字符串的使用技巧和注意事项,需要的朋友参考一下 要使用PHP生成随机字符串,代码如下- 示例 输出结果 示例 现在让我们来看另一个示例- 输出结果
cmf_random_string($len = 6) 功能 随机字符串生成 参数 $len: string 生成的字符串长度 返回 string 随机字符串
问题内容: 我想要一个5个字符串,该字符串由从集合中随机选择的字符组成。 用JavaScript做到这一点的最佳方法是什么? 问题答案: 我认为这将为您工作:
本文向大家介绍用Java生成随机字符串,包括了用Java生成随机字符串的使用技巧和注意事项,需要的朋友参考一下 让我们首先声明一个字符串数组并初始化- 现在,创建一个Random对象- 生成随机字符串- 示例 输出结果 让我们再次运行它以获得不同的随机字符串-
问题内容: 我正在尝试在PHP中创建一个随机字符串,并且我对此绝对没有输出: 我究竟做错了什么? 问题答案: 要具体回答这个问题,有两个问题: 当您回显它时,它不在范围内。 这些字符在循环中没有并置在一起。 这是包含更正的代码段: 通过以下调用输出随机字符串:
问题内容: 如何生成(伪)随机字母数字字符串,例如:PHP中的“ d79jd8c”? 问题答案: 首先用所有可能的字符组成一个字符串: 您还可以使用range()更快地完成此操作。 然后,在一个循环中,选择一个随机数并将其用作字符串的索引以获取随机字符,然后将其附加到您的字符串中: 是随机字符串的长度。