Loading

Shell脚本生成密码

利用 /dev/urando 生成密码

# 密码以字母、数字、开头
# 特殊符号多
for _ in {1..30};do tr -dc '~`!@#$%^&*()_+-={}:"<>?[];,./A-Za-z0-9"'"'" </dev/urandom |head -c 25;echo ;done |grep ^[a-zA-Z0-9]
echo
# 特殊符号少
for _ in {1..30};do tr -dc '(!@&%^-_=+[{}]:,./?~#*)A-Za-z0-9' </dev/urandom |head -c 25;echo ;done |grep -P "^[a-zA-Z0-9](?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[\!@&%\^\-_=\+\[{}\]:,\./\?~#\*]).{20,30}$"

 

 

^                      # 开头
(?=.*[0-9])            # 数字
(?=.*[a-z])            # 小写
(?=.*[A-Z])            # 大写
[0-9a-zA-Z!@&%^-_=+:,./?~#*]{6,30}   #只能这些,且6到30个
$                      # 结尾

完整写法

^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z!@&%^-_=+:,./?~#*]{6,30}$

 

posted @ 2021-03-30 20:19  Outsrkem  阅读(303)  评论(0)    收藏  举报