一个小巧的 Go CLI 工具,能够生成带有灵活字符集和排除项的安全随机密码。
使用
crypto/rand提供密码学安全随机性。如果未提供字符集标志,默认启用所有字符集。
# latest
go install github.com/bilalbaraz/passgen@latest
# specific version
go install github.com/bilalbaraz/passgen@<version>
brew tap bilalbaraz/tap
brew install passgen
wget -L https://github.com/bilalbaraz/passgen/releases/latest/download/passgen_linux_amd64.zip \
&& unzip passgen_linux_amd64.zip \
&& sudo mv passgen /usr/local/bin/ \
&& rm passgen_linux_amd64.zip
wget -L https://github.com/bilalbaraz/passgen/releases/latest/download/passgen_linux_arm64.zip \
&& unzip passgen_linux_arm64.zip \
&& sudo mv passgen /usr/local/bin/ \
&& rm passgen_linux_arm64.zip
# basic (defaults to all character sets)
passgen --len 16 --count 3
# lower/upper/digits only
passgen --len 24 --count 5 --lower --upper --digits
# symbols only, excluding "@$"
passgen --len 20 --symbols --exclude "@$"
# exclude ambiguous characters (0 O 1 l I)
passgen --len 16 --no-ambiguous
# copy generated passwords to clipboard
passgen --len 20 --count 3 --copy
# render first password as QR code in terminal (requires -count 1)
passgen --len 20 --qr
go run .
go build .
go run ./cmd/passgen
go build ./cmd/passgen
go test -v ./...
--len <n> 或 -l <n>--lower、--upper、--digits、--symbols--count <n> 或 -c <n>--exclude "..." 或 -x "..."--no-ambiguous--copy 或 -p--qr 或 (仅当 时有效)没有配置文件。所有行为通过 CLI 标志控制。
-copy 使用 pbcopy(macOS)、clip(Windows)或 wl-copy/xclip(Linux)。-q--count 1-h / --help