# 生成随机字符串
# 使用uuidgen
命令
uuidgen
如果没有安装uuidgen
命令,可以使用apt-get install uuid-runtime
安装。
生成效果如下:
$ uuidgen
a1b2c3d4-e5f6-7a8b-9c0d-1e2f3a4b5c6d
# 使用openssl
命令
openssl rand -hex 16
如果没有安装openssl
命令,可以使用apt-get install openssl
安装。
生成效果如下:
$ openssl rand -hex 16
a1b2c3d4e5f67a8b9c0d1e2f3a4b5c6d
命令中的16
表示生成 16 个字节的随机字符串,也就是 32 个字符。所以如果要生成 8 个字节的随机字符串,可以使用openssl rand -hex 8
。
# 使用head
命令
head -c 16 /dev/urandom | xxd -p
如果没有安装xxd
命令,可以使用apt-get install xxd
安装。
生成效果如下:
$ head -c 16 /dev/urandom | xxd -p
a1b2c3d4e5f67a8b9c0d1e2f3a4b5c6d
命令中的16
表示生成 16 个字节的随机字符串,也就是 32 个字符。所以如果要生成 8 个字节的随机字符串,可以使用head -c 8 /dev/urandom | xxd -p
。
# 使用tr
命令
tr -dc A-Za-z0-9 </dev/urandom | head -c 16
生成效果如下:
$ tr -dc A-Za-z0-9 </dev/urandom | head -c 16
a1b2c3d4e5f67a8b
TIP
tr
命令的-dc
参数表示删除所有不在A-Za-z0-9
范围内的字符,</dev/urandom
表示从/dev/urandom
文件中读取数据,head -c 16
表示只输出前 16 个字符。
在 macOS 上, tr
命令不支持-dc
参数,可以使用tr -d -c A-Za-z0-9
代替。
$ tr -d -c A-Za-z0-9 </dev/urandom | head -c 16
a1b2c3d4e5f67a8b