草庐IT

uuid_generate_random

全部标签

ruby - Linux 上的 Ruby 是否使用/dev/random?

我正在创建一个pastebinapp我希望粘贴的ID是真正随机的。Linux上的/dev/random(托管在Linux机器上)使用噪声,因此它的输出是真正随机的。目前我使用此代码生成ID:self.guid=Digest::SHA1.hexdigest(Time.new.to_s+(0...50).map{('a'..'z').to_a[rand(26)]}.join)Ruby的rand函数是否使用/dev/random,如果不是,我如何在Ruby中使用/dev/random?谢谢。 最佳答案 很难documentedSecure

linux - linux bash 中的 $RANDOM 在启动时总是相同的

我遇到了这个问题,我很困惑。我在bash中使用$RANDOM作为linux启动过程最开始的测试字符串。非常有趣的是,我观察到每次linux启动时$RANDOM都是一样的。在我的例子中,它是18869。我只是将$RANDOM回显到文件中。我在每次启动时都观察到相同的数字。在那之后,$RANDOM似乎返回“真正的”随机数。echo"$RANDOMisateststring">>/tmp/test谁能解释一下这是什么原因? 最佳答案 这是Bash4.2源代码中variables.c的初始种子算法:staticvoidseedrand(){

linux - 编译器说找不到 uuid.h 但 apt-get 说它是

当编译包含uuid.h的C++项目时,出现编译错误:fatalerror:uuid.h:Nosuchfileordirectory我不确定出了什么问题。可能是我的编译器指令有误,或者我确实没有安装该文件(但我认为这不是问题所在)。sudoapt-getinstalluuid-dev以上命令输出:uuid-dev已经是最新版本我的makefile是这样的:all:g++-obin/myapplicationsrc/main.cpp-std=c++11编辑:在.h文件中:#include知道问题出在哪里吗? 最佳答案 包裹的fileli

linux - bash 函数 $RANDOM 应该具有均匀分布吗?

我知道bash函数$RANDOM生成一个范围内的随机整数,但是,这些数字是否应该遵循(或近似)均匀离散分布? 最佳答案 我刚刚打印了$RANDOM一百万次,将它变成了一个直方图,然后用gnumeric查看了它,图表显示了一个非常正态的分布!fornin`seq11000000`;doecho$RANDOM;done>random.txtgawk'{b=int($1/100);a[b]++};END{for(nina){printn","a[n]}}'random.txt>hist.csvgnumerichist.csv因此,如果您想

c++ - C++/gcc/linux 中的 Continuations/Coroutines/Generators

背景:我试图通过提出这个玩具问题来弄清楚如何实现延续/协程/生成器(不管下面的名称是什么)。环境是gcc4.6和linux3.0x86_64上的C++11。不可移植很好,但不允许使用外部库(boost.coroutine、COROUTINE等)。我认为longjmp(3)和/或makecontext(2)和friend可能会有所帮助但不确定。描述:下面的玩具解析器应该解析等长的as和bs序列。即((a+)(b+))+使得第二个括号产生式的长度等于第三个。当它找到一个产生式(例如aaabbb)时,它会输出它找到的a的数量(例如3)。代码:#include#includeusingname

c - 使用 RNDADDENTROPY 将熵添加到/dev/random

我有一个设备会产生一些噪声,我想将其添加到嵌入式Linux系统中/dev/random设备的熵池中。我正在阅读manpageon/dev/random而且我不太了解您传递给RNDADDENTROPYioctl调用的结构。RNDADDENTROPYAddsomeadditionalentropytotheinputpool,incrementingtheentropycount.Thisdiffersfromwritingto/dev/randomor/dev/urandom,whichonlyaddssomedatabutdoesnotincrementtheentropycount.

linux - "cat/dev/random"与 "tail -f/dev/random"

声明cat/dev/random如预期的那样继续产生输出,但是tail-f/dev/random挂起(至少在OSX和SUSE上)。为什么后一条语句挂起? 最佳答案 tail-f做了几件事:找到流的结尾,通过读取直到到达EOF或通过查找结尾(/dev/random上不可用的操作)。备份一定长度(可能通过保留最近读取内容的适当长度的缓冲区,可能通​​过保留初始扫描期间最后N行的查找位置列表,或通过其他方式),然后打印该点和结尾之间的内容。继续打印超过该点的新内容,因为此类内容可用。如果没有尽头——如/dev/random的情况——那么第

linux - 来自 java 的 UUID.randomUUID() 的重复 UUID 集

我们观察到那组近200,000个UUID相隔两个月重播,我想知道是否有人见过类似的东西。UUID是使用UUID.randomUUID()生成的。在深入研究这个问题时(查看java源代码),randomUUID()在底层使用了SecureRandom(),后者又使用了NativePRNG。据我了解,NativePRNG使用/dev/urandom来获取其种子。这当然令人费解——/dev/urandom以某种方式将相同的种子返回给NativePRNG相隔两个月。据我所知,一旦实例化PRNG就不会重新播种。这是一个长时间运行的作业,它监听消息并使用UUID作为它的ID。伪代码很简单:Stri

linux - 使用 libblkid 查找分区的 UUID

我在看libblkid并对文档感到困惑。有人可以为我提供一个示例,说明如何使用此库找到根Linux分区的UUID吗? 最佳答案 它几乎和手册中描述的一样简单:您创建一个探测结构,对其进行初始化,询问它一些信息,然后释放它。您可以将前两个步骤合并为一个。这是一个工作程序:#include#include#include#includeintmain(intargc,char*argv[]){blkid_probepr;constchar*uuid;if(argc!=2){fprintf(stderr,"Usage:%sdevname\

c++ - 为什么从/dev/random 读取几乎总是阻塞?

我正在使用内核为2.6.38-12-generic的kubuntu我想在程序开始时从/dev/random中读取16个随机数。但是,它会在相对较短的时间后阻塞。填充/dev/random缓冲区需要多长时间?为什么需要这么长时间才能填满。我将其用作uuid生成器,并将其他随机源添加到种子中我的梅森捻线机。重要的是我不要得到重复的或重复的种子。如果我更改为/dev/urandom它工作正常。关于使用/dev/random而不是/dev/urandom的任何观点。 最佳答案 你真的不应该使用/dev/random。在已知的情况下,/dev