Articles of 随机

在Bash中按照特定模式生成随机string的最佳方法

我想要在这个模式下生成许多六个string: [辅音] [元音] [辅音] [辅音] [元音] [辅音] 例如 haplop github上 qursog 我已经看过这样做的各种方式,但我迄今为止没有任何东西是优雅的。 我的想法主要围绕一次生成一个angular色,但即使如此,由于缺乏bash脚本知识和模糊的Linux命令,我的想法并不是那么好。 理想情况下,我正在寻找一个随机生成一个string,但允许我指定上面显示的模式(如果有的话)的Linux命令。 或者,如果你知道在bash中这样做的一个简单的方法,那也是很棒的。 提前致谢 编辑:顺便说一句,我会给这个24小时之前select接受的答案,使我有更多的机会select最好的答案,而不只是第一(虽然第一个答案是相当不错的)。

随机性如何?

在Linux中, /dev/urandom/是多么随意的? 它被认为是安全的吗? 也有可能得到1的stream?

RNG比/ dev / random更快,但是encryption有用吗?

我已经开始了一些需要一些高质量随机字节的工作,例如某些密码应用的初始化vector。 我的问题是,这可能会被同时多次调用,我无法承受块/dev/random问题等待更多的熵收集。 我可以使用它来种子其他algorithm,例如/dev/urandom可以做什么 – 但是我不相信我无法理解的东西,我没有任何可用的方法资源,也不知道它是否保持不变许多内核版本,我更喜欢某种明确定义的方法。 您是否知道可以通过标准PRNG思考的任何方法,这些方法足以适用于(同时)密钥生成和类似情况? 特定的密码,比如带有大种子的RC4,是否足以产生随机输出? (我已经看到一个使用这个的/ dev / frandom实现,但我不完全确定它。) 如果这意味着什么,那么我就是在一个无头的Debian服务器上,因为没有熵收集。

/ dev / zero或/ dev / random – 什么更安全,为什么?

谁能告诉我为什么/ dev / random是安全的首选,而从硬盘擦除数据呢?

内核熵池如何工作?

我使用/dev/urandom为我的程序生成随机数据。 我知道/dev/random可以是空的,因为不像/dev/urandom ,当没有足够的字节产生时,它不使用SHA。 /dev/random使用“ 内核熵池 ”。 显然它依赖于键盘时间,鼠标移动和IDE时间。 但是,这是如何工作的? 并且不可能“喂养”使得/ dev / random输出可预测的熵池吗?

如何base64编码/ dev / random或/ dev / urandom?

cat /dev/urandom始终是在您的显示器上创build滚动字符的一种有趣的方式,但会产生太多不可打印的字符。 有没有一种简单的方法可以在命令行中对其进行编码,使得所有的输出都是可读的字符,例如base64或uuencode。 请注意,我更喜欢不需要创build其他文件的解决scheme。

未定义的OpenComL 1.0.2的CreateCompatibleBitmap @ 12引用

这是我在OpenSSL的Windows 10的代码块中使用的代码。 但是有一些错误。 #include <openssl/rsa.h> int main() { RSA *r; int bits=512,ret; unsigned long e=RSA_3; BIGNUM *bne; r=RSA_generate_key(bits,e,NULL,NULL); RSA_print_fp(stdout,r,11); RSA_free(r); bne=BN_new(); ret=BN_set_word(bne,e); r=RSA_new(); ret=RSA_generate_key_ex(r,bits,bne,NULL); if(ret!=1) { printf("RSA_generate_key_ex err!\n"); return -1; } RSA_free(r); return 0; } 链接错误: \libcrypto.a(rand_win.o):rand_win.c|| undefined reference to `GetDeviceCaps@8'| \libcrypto.a(rand_win.o):rand_win.c|| undefined reference to `GetDeviceCaps@8'| \libcrypto.a(rand_win.o):rand_win.c|| undefined reference to `CreateCompatibleBitmap@12'| \libcrypto.a(rand_win.o):rand_win.c|| undefined reference to […]

我是否正确实施时钟漂移?

我无法在任何地方find任何时钟漂移RNG代码,所以我试图自己实现它。 我还没有通过ent或DIEHARD运行数字,我只是想知道这是否是远程正确的… void QueryRDTSC(__int64* tick) { __asm { xor eax, eax cpuid rdtsc mov edi, dword ptr tick mov dword ptr [edi], eax mov dword ptr [edi+4], edx } } __int64 clockDriftRNG() { __int64 CPU_start, CPU_end, OS_start, OS_end; // get CPU ticks — uses RDTSC on the Processor QueryRDTSC(&CPU_start); Sleep(1); QueryRDTSC(&CPU_end); // get OS ticks […]

Java将行添加到文本文件的特定部分

下面的评论是答复另一个问题,这是我唯一的方法来问新的问题… 好的。 我的程序就像在.txt文件上写信息一样。 目前它正在将信息写入文本文件的结尾,如下所示: t/1/15/12 o/1/12/3 o/2/15/8 … (lots of lines like this.. all with different numbers) o/1/16/4 然后..当我添加行使用: BufferedWriter fw = new BufferedWriter(new FileWriter(new File("C://Users/Mini/Desktop/Eclipse/Japda/map/" +Numbers.map +".txt"), true)); fw.newLine(); fw.write(RightPanel.mode.charAt(0) +"/" +ID +"/" +Numbers.middlex +"/" +Numbers.middley); fw.close(); 它添加了我想要的但是当前到文本文件末尾的行。但是我想把它写到文本文件的特定部分..我已经知道我要写的行的编号它..(这是根据其他行计算..):D有没有办法做到这一点? 或者,在文本文件中间编辑一个特定行的最佳方法是什么?

boost :: random_device的非Linux实现

目前,Boost只实现了Linux(也许是* nix)系统的random_device类。 有谁知道其他操作系统的现有实现? 理想情况下,这些实现将是开源的。 如果不存在,那么我应该如何去实现Windows的非确定性RNG以及Mac OS X? API调用是否存在于提供此function的任一环境中? 感谢(并对所有的问题抱歉)!