四时宝库

程序员的知识宝库

shell生成随机字符串(代码实例)(shellrandom随机数1到10)

shell生成随机字符串(代码实例)

1、生成随机数

echo $RANDOM

2、生成随机字符串

cat /dev/urandom | strings -n C | head -n L

cat /dev/urandom | sed 's/[^a-zA-Z0-9]//g' | strings -n C | head -n L

前者生成全字符的随机字符串,后者生成数字加字母的随机字符串。其中C表示字符串的字符数,L表示要生成多少行字符。

#使用date 生成随机字符串

date +%s%N | md5sum | head -c 10

#使用 /dev/urandom 生成随机字符串

cat /dev/urandom | head -n 10 | md5sum | head -c 10

shell生成随机字符串

#!/bin/bash

i=1

while [ $i -le 10000 ]

do

a=`echo `< /dev/urandom tr -dc A-Za-z0-9 | head -c6``

echo -n -e "$a\t"

b=`echo `< /dev/urandom tr -dc 0-9 | head -c6``

echo "$b"

i=`expr $i + 1`

done

PS:-----------------------------------------------------------------

在Linux中,/dev/urandom和/dev/random是两个随机伪设备,都可以用来产生随机数。不同的是/dev/random依赖于系统中断,当系统中断不足时,/dev/random设备会处于封锁状态,因而使用/dev/urandom更加方便、靠谱。

所谓中断是指CPU对系统发生的某个事件做出的一种反应,CPU暂停正在执行的程序,保留现场后自动地转去执行相应的处理程序,处理完该事件后再返回断点继续执行被“打断”的程序。

---------------------------------------------------------------------

1、生成随机数字(20位)

head /dev/urandom | tr -dc 0-9 | head -c 20

2、包含数字、大小写(20位)

head /dev/urandom | tr -dc A-Za-z0-9 | head -c 20

3、使用MD5加密

cat /dev/urandom | head -c 5 | md5um | head -c 5

4、也可转换为16进制处理

cat /dev/urandom | od -x | head -c 10

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接