您好,我想使用一个名为Kunststube-CSRFP的包在我的项目上问题是包会在Windows机器上抛出异常,因为dev/random对于Windows不合法..导致异常的函数如下..protectedfunctiongetRandomHexStringFromDevRandom($length){static$sources=array('/dev/urandom','/dev/random');foreach($sourcesas$source){if(@is_readable($source)){returnbin2hex(file_get_contents($source,f
我正在使用函数:privatefunctionrandom($len){if(@is_readable('/dev/urandom')){$f=fopen('/dev/urandom','r');$urandom=fread($f,$len);fclose($f);}$return='';for($i=0;$i57)$rand+=7;if($rand>90)$rand+=6;if($rand==123)$rand=52;if($rand==124)$rand=53;$return.=chr($rand);}return$return;}我有一些触发此功能的表单,但出现错误:int(2)
如commentsofmt_rand()中所述它的安全性很弱,我们应该改用/dev/urandom。我的问题是我从urandom得到了一个二进制字符串。如何将此二进制字符串转换为0-9a-zA-Z?看起来base_convert()在这里不起作用。 最佳答案 仅记录完整功能:functionrandomFromDev($len){$fp=@fopen('/dev/urandom','rb');$result='';if($fp!==FALSE){$result.=@fread($fp,$len);@fclose($fp);}else
我正在用php5.4开发一个站点,我想知道使用哪个来生成随机盐以确保密码安全性更好?$salt=sha1(openssl_random_pseudo_bytes(23));或$seed='';$a=@fopen('/dev/urandom','rb');$seed.=@fread($a,23);$salt=sha1(seed);或者我应该选择:$salt=openssl_random_pseudo_bytes(40);或$salt='';$a=@fopen('/dev/urandom','rb');$salt.=@fread($a,23); 最佳答案
我的应用程序想要获得一个随机数,如果可用的话最好使用熵,但不需要加密质量,并且想要确保在系统熵池耗尽时调用不会阻塞(例如在服务器上在农场)。我知道CryptGenRandom,但未指定其在不利熵条件下的阻塞行为。在Unix上,/dev/urandom支持这个用例。Windows上是否有可用的等效功能?我宁愿避免使用非系统RNG来获得非阻塞语义。 最佳答案 对于玩具应用程序,您可以使用标准库函数rand(),但在Windows上的实现质量是出了名的差。对于密码安全的随机数,您可以使用rand_s()标准库函数。更好的选择是在您的程序中
我想创建独一无二的和对于自己注册该服务的用户。所以,我一直在寻找相同的东西并想出了这些选项:uuidbinascii.hexlify(os.urandom(x))random.SystemRandom()这是一个愚蠢的问题,但我想知道哪种实现使用起来更安全(有适当的解释)?为什么?使用它比其他人有什么优势?Note:AFAIK,random.SystemRandom()usesos.urandom(x).Socomparisonismainlybetweenuuidandrandom.SystemRandom().这是我到目前为止尝试过的:1)importrandomtemp=rand
我在一本书上读到/dev/random就像一个无限大的文件,但是当我设置下面的代码来查看内容是什么样子时,它什么也没有打印。withopen("/dev/random")asf:foriinxrange(10):printf.readline()顺便说一句,当我用/dev/urandom尝试这个时,它成功了。 最佳答案 FWIW,以半便携方式访问此流(或类似流)的首选方式是os.urandom() 关于python-如何在python中读取/开发/随机,我们在StackOverflow上
我试图理解并弄清楚我是否应该使用os.urandom()或Crypto.Random.new()来获得密码安全的伪随机数。以下网站似乎建议使用os.urandom():https://github.com/mozilla/PyHawk/pull/13但我真的不明白为什么,我在网上找到的其他网站也没有真正解释使用哪个网站。如果有人知道哪一个对于加密使用是安全的,我将不胜感激!让我特别担心的一件事是,我打算用它来生成随机数,但我担心有一天我生成了一些随机数,而第二天生成器的状态是一样的,它开始生成相同的“随机”数字。 最佳答案 我选择o
我最近遇到了一个错误,当我的Linux服务器上的熵太低并且读取/dev/urandom返回的字节数少于预期的字节数时,我没有正确处理。如何通过测试重新创建它?有没有办法降低系统的熵或可靠地清空/dev/urandom?我希望能够进行回归测试来验证我的修复。我正在使用Ubuntu12.04。 最佳答案 根据random(4)手册页,readfromthe/dev/urandomdevicewillnotblock如果你想让它阻塞,你应该从/dev/random中读取很多字节(没有任何u)。(多少取决于硬件和系统)。所以你不能“exau
我最近遇到了一个错误,当我的Linux服务器上的熵太低并且读取/dev/urandom返回的字节数少于预期的字节数时,我没有正确处理。如何通过测试重新创建它?有没有办法降低系统的熵或可靠地清空/dev/urandom?我希望能够进行回归测试来验证我的修复。我正在使用Ubuntu12.04。 最佳答案 根据random(4)手册页,readfromthe/dev/urandomdevicewillnotblock如果你想让它阻塞,你应该从/dev/random中读取很多字节(没有任何u)。(多少取决于硬件和系统)。所以你不能“exau