#!/bin/bash
#定义变量:10个数字+52个字母,用随机数对62取余,返回的结果为0-61
key="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
pass=""
for i in {1..10}
do
num=$[RANDOM%${#key}]
tmp=${key:num:1}
pass=${pass}${tmp}
done
echo $pass
uuidgen
21535DF3-F227-4EB8-A734-7FE80D7DA265
openssl rand -base64 10
mgc5Px5V0H+nBQ==
- 使用随机设备文件(/dev/random、/dev/urandom)
- tr命令可以对数据进行转换、删除等操作
- -c:取反、-d:删除
#删除随机数据中不是数字、小写字母、大写字母的数据
#在截取出来的字串中提取前10个字符
tr -cd '0-9a-zA-Z' < /dev/urandom | head -c 10
YRbjZpdLF1%
#macos:
LC_CTYPE=C tr -cd '0-9a-zA-Z' < /dev/urandom | head -c 10
5gxMDSqKGw%
小结
- 本文我们完成了多种生产随机密码的脚本
- 通过字串截取提取随机密码
- 通过命令提取随机密码
- 通过随机设备文件提取随机密码
网友评论