1 个不稳定版本

0.1.1 2022 年 10 月 21 日

#90 in #password-generator

MIT 许可证

145KB
512

PGen-Rust


入门指南

您可以从 github actions artifacts 或以下链接之一获取 PGen 的最新版本: linuxwindowsmacos

使用方法

从命令行,您可以使用 ./rpgen generate 运行 PGen 并使用默认规则生成一个新的配置文件,该文件根据您的操作系统

Windows: {FOLDERID_RoamingAppData} # eg: C:\Users\{USERNAME}\AppData\Roaming
Linux: $HOME/.config # or $XDG_CONFIG_HOME
Mac: $HOME/Library/Preferences

参数

USAGE:
    rpgen [OPTIONS] <SUBCOMMAND>

OPTIONS:
    -a, --amount <AMOUNT>
            The number of passwords to generate (default: 3)

    -d, --digits-before <DIGITS_BEFORE>
            The number of digits before the words (default: 0)

    -D, --digits-after <DIGITS_AFTER>
            The number of digits after the words (default: 3)

        --debug
            Enable debug logging

    -h, --help
            Print help information

    -m, --min-length <MIN_LENGTH>
            The minimum length of each word (default: 5, min: 3)

    -M, --max-length <MAX_LENGTH>
            The maximum length of each word (default: 7, max: 9)

    -r, --match-random-char
            Do not use the same random character for each separator rather than a new random each
            time (default: true)

    -s, --separator-char <SEPARATOR_CHAR>
            The character to use to separate the words (default: "RANDOM")

    -S, --separator-alphabet <SEPARATOR_ALPHABET>
            The array of characters as separators (default: "!@$%.&*-+=?:;")

    -t, --transform <TRANSFORM>
            What transformation mode to use, Options are [NONE, CAPITALISE, ALL_EXCEPT_FIRST,
            UPPERCASE, RANDOM, ALTERNATING] (default: CAPITALISE)

    -V, --version
            Print version information

    -w, --words <WORDS>
            The number of words to generate for each password (default: 2)

SUBCOMMANDS:
    generate    Generate some new passwords.
    help        Print this message or the help of the given subcommand(s)

配置文件

当使用配置文件时,并非所有值都必须存在,默认值将用于替代。

以下为您找到默认配置文件。

words = 2
min_length = 5
max_length = 7
transform = 'CAPITALISE'
separator_char = 'RANDOM'
separator_alphabet = '!@$%.&*-+=?:;'
match_random_char = true
digits_before = 0
digits_after = 3
amount = 3

在其他位置使用配置文件

在运行 generate 子命令时,您可以指定要使用的配置文件。此路径将首先被视为绝对路径,如果找不到,将在当前工作目录中查找。

以下是一些示例:

./rpgen generate /home/racci/Documents/config.toml
./rpgen generate config.toml
./rpgen generate ../config.toml

规则层次结构

在运行 PGen 时,规则将分配给最后一个检查的值作为最终值。这意味着规则按默认值、配置文件、提供的配置文件和 CLI 参数的顺序分配。


从脚本运行

您不必编写 ./rpgen 和所需的任何选项,而是可以使用类似以下的批处理、powershell 或 shell 文件:

  • Shell 脚本(假设您在路径中具有 rpgen
#!/bin/bash
rpgen -w 10 -m 5 -r -t ALTERNATING -s RANDOM -S =-;. -d 5 -D 0 -a 50 generate ~/Documents/config
  • Powershell / 批处理脚本
"C:\Users\Racci\Programs\PGen\pgen" generate "C:\Users\Racci\Programs\PGen\rules.toml"

依赖项

~6–15MB
~161K SLoC