随机生成字符串

回复 收藏
dd if=/dev/random count=16 bs=1| xxd -ps   //32位

dd if=/dev/random count=24 bs=1| xxd -ps   //48位
2011-02-18 15:10 举报
已邀请:
0

齐天大圣

赞同来自:

怎么没有of输出呢?
0

齐天大圣

赞同来自:

[root@study tmp]# dd if=/dev/urandom  count=24 bs=1 |xxd -ps
记录了24+0 的读入
记录了24+0 的写出
24字节(24 B)已复制,0.00015216 秒,158 kB/秒
13dd2a12dc7e08ba98ab38011251eda934080d8b89d15fce
[root@study tmp]# dd if=/dev/random  count=24 bs=1 |xxd -ps
96f9188d4aa8a5fc395ccf15f2c70d222bfba6fc0813e06e
记录了24+0 的读入
记录了24+0 的写出
24字节(24 B)已复制,1.97092 秒,0.0 kB/秒
0

zxc123

赞同来自:

学习了
0

lyhabc

赞同来自:

xxd 命令用于用二进制或十六进制显示文件的内容,如果没有指定outfile参数,则把结果显示在屏幕上,如果指定了outfile则把结果输出到 outfile中;如果infile参数为 – 或则没有指定infile参数,则默认从标准输入读入。
常用选项:
-b
转到 比特(二进制 数字) 模式, 而不是十六进制模式。在这种模式下, 每个字符被表示成八个 0/1 的数字,而不是一般的十六进制形式。每一行都以一个用十六进制形式表示的行号,后面是ascii (或者 ebcdic) 形式开头。命令行选项 -r, -p 在这个模式下不起作用。
-h
显示帮助信息后退出。
-l N
只输出 N 个字符。
-p
以 postscript的连续十六进制转储输出,这也叫做纯十六进制转储。
-r
逆向操作: 把xxd的十六进制输出内容转换回原文件的二进制内容。
-seek offset
用在 -r 之后: 会在当前档桉的 偏移量上增加 .
-s [+][-]seek
从infile的绝对或者相对偏移量 开始. + 表示相对于标 输入当前的位置 (如果不 标准输入就没有意义了). – 表示从档桉末尾 (如果和 + 连用: 从标准输入当前位置) 向前数一些字符, 从那个地方开始. 如果没有 -s 选项, xxd 从 当前位置开始.
-u
十六进制输出时使用大写字母,默认是小写字母。
0

lyhabc

赞同来自:

本帖最后由 lyhabc 于 2016-3-16 11:14 编辑

cat /dev/urandom |head -1|md5sum |head -c 48|wc
      1       2      36
[root@steven ~]# cat /dev/urandom |head -1|md5sum |head -c 32|wc
      0       1      32


0

喀洛池

赞同来自:

使用unrandom,不受限于interrupt,速度更快,只是安全较差

0

yangyu

赞同来自:

产生随机数,比如产生1到10的随机数
expr $[$RANDOM+1]

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: