pwgen简单生成随机密码
前言
pwgen
是一个用于生成随机密码的命令行工具,在 Linux 和 Unix 系统上广泛使用。它生成的密码可以根据用户需求定制,既可以是易于记忆的,也可以是高度复杂的,适用于各种安全场景。本文将详细介绍 pwgen
的安装、基本使用方法、常见选项及高级用法。
正文
安装 pwgen
- 在 Debian/Ubuntu 上安装
bash复制代码sudo apt-get update
sudo apt-get install pwgen
- 在 CentOS/RHEL 上安装
首先启用 EPEL 仓库:
bash
复制代码
sudo yum install epel-release
然后安装 pwgen
:
bash
复制代码
sudo yum install pwgen
- 在 macOS 上安装
macOS 用户可以通过 Homebrew 安装 pwgen
:
bash
复制代码
brew install pwgen
功能特性
- 密码生成:pwgen 可以生成包含大小写字母、数字和特殊字符的随机密码。
- 定制性:用户可以根据需要指定密码的长度、数量、字符集等。
- 安全性:生成的密码是随机的,有助于防止暴力破解攻击。
- 可移植性:pwgen 可以在多种操作系统上运行,包括 Linux、macOS 和 Windows。
常用选项
Usage: pwgen [选项] [密码长度] [密码数量]
- -c 或 --capitalize
- 在密码中包含至少一个大写字母
- -A 或 --no-capitalize
- 不在密码中包含大写字母
- -n 或 --numerals
- 在密码中包含至少一个数字
- -0 或 --no-numerals
- 不在密码中包含数字
- -y 或 --symbols
- 在密码中包含至少一个特殊符号
- -r <字符> 或 --remove-chars=<字符>
- 从生成密码的字符集中移除指定的字符
- -s 或 --secure
- 生成完全随机的密码
- -B 或 --ambiguous
- 不在密码中包含易混淆的字符(如
l
,1
,O
,0
等)
- 不在密码中包含易混淆的字符(如
- -h 或 --help
- 显示帮助信息
- -H 或 --sha1=文件路径[#种子]
- 使用指定文件的 SHA1 哈希作为(非完全)随机生成器
- -C
- 以列的形式打印生成的密码
- -1
- 不以列的形式打印生成的密码(每行显示一个密码)
- -v 或 --no-vowels
- 不使用元音字母,以避免生成不雅单词
这些选项可以组合使用,以生成符合特定需求的密码。
使用示例
- 生成一系列8位的密码
pwgen
# ====OUT PUT====
dai9Pah6 iehoi1oT oiKie4ai Xa1Doh9n ahTh2cie Vaen3hei caeVah7a geow2aiV
uK4eipha rahRae8o Liexien9 Uu1ichew vaePhee4 eevie3Ei Dee2oG7F Ooch4coh
Oow0Io7a Eel2Suu8 FooH2Ohn va5Mu8fi Thahmo5e euTieje4 OhYei4ae IGei3Aim
Tof1cee9 ohgh6Oon fej3eK5e ub8Eiyei ug1raeJu yeeHoh9d ieJee4oo IaWei7Xu
eP0Bai1e Aloh2Ohx viSuo7hi Uafooz0t thaeQu0e oeH5aeSh aCh7ooKu laeQu2oo
eiGhae9w Hahc9pha Sei1heic aiQu4ohC ipo7AiJa Zoi9mewa Ooxoe3ei liM3aiti
sonu0Pop Aid7oono zas4eiRo goo8AJee fo1EeThi ooh1eiR4 Aecus4Ei co6iew2U
gae8Aiju rookai1W Cai3ohae mo3Ohroo ohG2phee Icei3ie7 Ua7aitue yaehoGh3
thooP2Ph aNg0ieda voy4ahX4 eich0IeN einaePh9 epa3ooPh Yieghuo5 Zahchou7
eeGh7vac Eir9Wey9 ohJo5oah un0Oowah Tootoes1 phoV8ahf Otha0ail Pie0waiv
izo6Eroo Heechoo2 AiB2Baix Waejubi9 uw5feiXo wo2eLish joVa4Eif Oovohch8
ie8eeLif Ahghei4u Hi5xeche sahj5Oov The0suaw Aipie9Xe VieShai6 tahzee1E
uFe4tein eeW8kaka Iuf0nice chah0aeP yoodohZ6 Gi1Aeng3 aiZa9Vei She6ioGh
Aesaes1j uYaa5eit shai6Kei ievoh2iB Quoa4hia iW3eicat Sai2hah3 aichei2U
Laech5io Uw5ouWuf du0quaeW Ii0eephu KoaM1aza oof8xooY vemui6Sa aedie3Ka
rahG2sue eegh9ieH Geis6ouw fush8aZe AhMie1hu ooGhai1h nie5xahV aiVa2esh
Hahqueo9 ohx8haeG Tu8aiPhe eeKei7iw aRi4chah aeSie9Ee ea3IeGha AhJ2iebe
Rahrae2u AeWiZoh7 sieci8Xo gaiPuF3n ohdeiGe6 iu9moo9O Aix8ahne cei2jahW
augho0Ph eNg1eice au5phieR Shei1ive ahoh3Iem Chee6iez dooshoG4 VauRiey7
ahza8Ji0 ow8Moh5j ieW7rae6 dahsahH2 Ahjee0ie Eede4Pei ohgh6Io8 Zui8lie3
- 生成一个长度为 12 的密码:
pwgen -1 12 1
# ====OUT PUT====
ooK8aebeiLee
- 生成两个包含特殊字符的 16 位密码:
pwgen -s 16 2
# ====OUT PUT====
VmxUx6fqcFEXyESA
112vHkwVSI9UamUh
- 生成一个包含大写和数字的 8 位密码:
pwgen -cn 8 1
# ====OUT PUT====
Kee8faji
- 生成5个不含易混淆的字符,不含元音字符的8位密码:
pwgen -Bv 8 5
# ====OUT PUT====
443KNKTc TdpPhxb4 3xgzzLw9 NMM99wKv 4mrFCJkf