为什么要用命令行
因为很方便啊
PowerShell
Win+X然后按A打开powershell
使用以下命令生成随机密码(包含数字、字母和符号):
包含12个可打印ASCII字符
|
|
命令说明:
33..126
生成ASCII码从33(!)到126(~)的全部可打印字符范围|%{[char]$_}
将ASCII码转换为字符Get-Random -Count 12
随机选取12个字符-join
将字符数组拼接为字符串
示例输出:_zT5E}uK<79}
可通过修改-Count
参数调整密码长度,例如-Count 16
生成16位密码
哦对了,ASCII码33-126包含全部可打印的非控制字符,具体分类如下:
标点符号 (33-47,58-64,91-96,123-126)
! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
包含各类常见标点、括号和运算符数字 (48-57)
0 1 2 3 4 5 6 7 8 9
大写字母 (65-90)
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
小写字母 (97-122)
a b c d e f g h i j k l m n o p q r s t u v w x y z
Bash
Ctrl+Alt+T打开终端,输入以下命令生成随机密码(包含数字、字母和符号):
|
|
命令说明:
生成的字符串包含大小写字母、数字和+
、/
、=
三个符号,总共64个字符
示例输出:gtz5JBkda+zkvNhe
扩展选项:
1. 跟上面Powershell同样多符号的:
|
|
命令说明:
tr -dc '\41-\176'
\41
(八进制)= 33 =!
\176
(八进制)= 126 =~
-d
删除输入中的匹配项,-c
取补集(保留指定范围)
</dev/urandom
系统随机源head -c12
取12个字符
示例输出:qK!9c#0}L$l]
疑难排查:
- 如果locale设置不当,可能导致
tr
命令无法正确处理ASCII字符范围,可通过LC_ALL=C
强制指定locale为C解决
|
|
- 如果你想在输出之后换行,可以使用
echo
命令
|
|
2. 提升密码强度 - 使用多次密码生成筛选:
|
|
强制至少包含1个数字和大写字母
3. 不用记数字的版本:
如果你不记得41和176的话
|
|