我想生成一个随机字符串(例如密码、用户名等)。应该可以指定所需的长度(例如 13 个字符)。
我可以使用哪些工具?
(出于安全和隐私原因,最好是离线生成字符串,而不是在网站上在线生成。)
如何创建一个新文件并用 1 GB 的随机数据填充它?我需要这个来测试一些软件。
我更喜欢使用/dev/randomor /dev/urandom。
我应该使用/dev/random还是/dev/urandom?
在哪些情况下我更喜欢一种?
在谷歌搜索了一下之后,我找不到一种简单的方法来使用 shell 命令生成一个包含在特定范围内的随机十进制整数,即介于最小值和最大值之间。
我读过/dev/random,/dev/urandom和$RANDOM,但这些都不能满足我的需要。
有没有其他有用的命令,或者使用以前数据的方法?
我知道读取到/dev/random可能会阻塞,而读取/dev/urandom则保证不会阻塞。
这封信u从何而来?它意味着什么?
用户空间?解锁?微?
更新:
根据问题的最初措辞,对于/dev/randomvs的有用性存在一些争论/dev/urandom。关于 /dev/urandom的链接Myths已在下面发布了 3 次,并在此对何时使用 /dev/random vs /dev/urandom问题的回答中进行了总结。
我尝试了一个 bash 脚本,但创建一个简单的 1 MB 文件花了太长时间。我认为答案在于使用/dev/randomor /dev/urandom,但这里的其他帖子只展示了如何使用这些东西将各种数据添加到文件中,但我只想添加数字。
那么,是否有一个命令可以用来创建一个大小为 1 GB 的随机文件,其中只包含 0 到 9 之间的数字?
编辑:我希望输出是这样的
0 1 4 7 ..... 9
8 7 5 8 ..... 8
....
....
8 7 5 3 ..... 3
Run Code Online (Sandbox Code Playgroud)
范围是 0 - 9 意味着只有数字 0、1、2、3、4、5、6、7、8 和 9。我还需要它们以空格分隔,每行 100,最多行n数。这 n 是我不在乎的东西,我希望我的最终大小为 1 GB。
编辑:我使用的是 Ubuntu 16.04 LTS
一位同事建议通过以下命令创建一个随机密钥:
tr -dc A-Za-z0-9_\!\@\#\$\%\^\&\*\(\)-+= < /dev/urandom | head -c 32 | xargs
Run Code Online (Sandbox Code Playgroud)
它给了我错误:
tr:非法字节序列
我担心/dev/urandom我的系统上没有。我试着用谷歌搜索找出如何安装这个文件,但我发现是空的。我试过了locate urandom,结果也是空的。(实际上,它找到了手册页,但这无济于事)
如何urandom在我的 Mac OSX 系统上使用?(狮子)
我在 ubuntu 系统上运行以下命令:
dd if=/dev/random of=rand bs=1K count=2
Run Code Online (Sandbox Code Playgroud)
但是,每次运行它时,我都会得到一个不同大小的文件。为什么是这样?如何生成填充随机数据的给定大小的文件?
是否有可用于 Linux 系统的工具可以测量系统上熵的“质量”?
我知道如何计算熵:
cat /proc/sys/kernel/random/entropy_avail
Run Code Online (Sandbox Code Playgroud)
而且我知道有些系统具有“良好”的熵源(硬件熵键),而有些系统则没有(虚拟机)。
但是有没有一种工具可以提供关于系统熵“质量”的度量标准?