我想在PHP中生成随机字母数字字符串。它们将用于随机数强度很重要的地方(URL中公开可见的ID等)。据我所知,在PHP中,加密强随机性的主要来源是openssl_random_pseudo_bytes()。然而,这会返回一个字节数组,而不是字母数字字符。为了将它们转换为字母数字,我可以对它们进行哈希处理(这会产生一个由有限的十六进制字符组成的比必要字符串更长的字符串),或者base64_encode()它们(这会产生一个包含+、/和=的字符串-不是字母数字)。所以我认为我可以使用随机字节作为熵源并生成我自己的仅包含字符0-9a-zA-Z的字符串。然后问题就变成了——如何将256个不同的
我正在使用以下代码为我的应用生成一个简单的UID:privatefunction_createUid(){$bytes=random_bytes(128);$uid=bin2hex($bytes);return$uid;}通过这样做,_createUid()的结果将是一个256个字符的字符串。我的问题是,如果在同一台服务器上运行,此字符串是否始终为256字符,我知道不同服务器上存在一些差异。还有,一个字节等于两个字符吗?任何帮助都会很棒,谢谢! 最佳答案 在十六进制中,一个字节总是表示为2个字符。字节的十六进制表示是两个字符对的序列
我想在图像上放置随机点(太空中的星星用于一些有趣的小项目)我有这个简单的脚本。请记住,这只是为了测试,这就是为什么我将100000放入for循环中,以便它显示我注意到出现的模式。我们有100万像素可供使用,仍然是随机的X和Y创建此图案:所以它远非随机。我知道rand不是真正随机的,这就是为什么它不适合密码学。但我没有找到有关它如何工作以及我应该如何避免这种模式的信息。 最佳答案 线性同余随机数生成器(这是PHPrand使用的)将始终在x-y图上显示自相关效应。使用mt_rand会得到更好的结果。这是一个MersenneTwister
我需要在PHP中创建一个可证明公平(确定性和种子)加密安全(CS)随机数生成器。我们正在运行PHP5,而PHP7现在并不是一个真正的选择。但是,我找到了PHP7的新CS函数的polyfill,所以我已经实现了该解决方案(https://github.com/paragonie/random_compat)。我认为srand()可用于为random_int()设置种子,但现在我不确定是否是这样。CSPRNG甚至可以播种吗?如果可以播种,输出是否是确定性的(相同的随机结果,给定相同的种子)?这是我的代码:require_once($_SERVER['DOCUMENT_ROOT']."/li
pythonrandom.sample()sample()是Python中随机模块的内置函数,可返回从序列中选择的项目的特定长度列表,即列表,元组,字符串或集合。用于随机抽样而无需更换。语法:random.sample(sequence,k)参数:sequence:可以是列表,元组,字符串或集合。k:一个整数值,它指定样本的长度。返回:从序列中选择的k长度新元素列表。sample()函数的简单实现fromrandomimportsample#Printslistofrandomitemsofgivenlengthlist1=[1,2,3,4,5]print(sample(list1,3))输出
1.介绍Random库Python中用于生成随机数的一个标准库。计算机没有办法产生真正的随机数,但它可以产生伪随机数。伪随机数是计算机按照一定的运算规则产生的一些数据,只不过这些数据表现为随机数的形式。计算机中采用梅森旋转算法生成为随机序列,序列中的每一个元素就是伪随机数,由于计算机不能产生真正的随机数,所以伪随机数也就被称为随机数。Random库包含两类函数,常用的有8个:基本随机函数:seed(),random()扩展随机函数:randint(),getrandbits(),uniform(),randrange(),choice(),shuffle()2.基本随机数函数Python中的随
我需要生成不可压缩的数据(因此是伪随机数据),并且一直在尝试使用下面的代码。但它只产生大约10MB/s的数据。我需要大约100-200MB/s。你有什么建议吗?if($length>8*1024*1024){//Defaultmaxstringlengthinphp.while(($length-$bytesGenerated)>8*1024*1024){$bytesGenerated=$bytesGenerated+(8*1024*1024);print(openssl_random_pseudo_bytes(8*1024*1024));}}print(openssl_random_
我需要在PHP中快速生成随机字符串a-Z0-9的方法。我一直在做一些思考和测试,这是我到目前为止所得到的:functionrandStr($length){$result=null;$replace=array('/','+','=');while(!isset($result[$length-1])){$result.=str_replace($replace,NULL,base64_encode(mcrypt_create_iv($length,MCRYPT_RAND)));}returnsubstr($result,0,$length);}与迭代并为每个字符选择随机ASCII值的
我有以下图像用于旋转木马。每次页面加载时,我都希望它们以不同的顺序出现。我正在考虑使用随机数生成器对数字进行排序,但后来我不确定如何做到这一点,以便这些数字只使用一次。如果这可以在一个循环中完成,那么它是可扩展的,那就太好了。看下面的静态代码,除了最后的数字之外,所有的图像都被命名为相同的谢谢! 最佳答案 有一个函数,shuffle():$images=array('/images/carousel-1.jpg','/images/carousel-2.jpg','/images/carousel-3.jpg','/images
我有一个类似的数组$keywords=array('apple'=>10,'orange'=>2,'grape'=>12);我想从数组中随机选择一个“Key”。然而,概率分布应该是这样的,即选择一个元素的概率应该与其值成正比。 最佳答案 将所有值相加(10+2+12为24);取一个[0,24)范围内的随机数,根据该数是在[0,10)、[10,12)、[12,24)范围内选择对应的元素。 关于php-从数组中返回一个随机值,概率与其值成正比,我们在StackOverflow上找到一个类似的