From 6c0a9154802c51bf01800ed84ab309a69a130789 Mon Sep 17 00:00:00 2001 From: Fede Calendino Date: Sat, 4 May 2024 18:52:32 +0100 Subject: [PATCH] Replace random.choice with secrets.choice --- info.plist | 2 +- pyproject.toml | 2 +- requirements.txt | 6 ++++++ src/generator.py | 5 ++--- src/main.py | 4 ++-- 5 files changed, 12 insertions(+), 7 deletions(-) create mode 100644 requirements.txt diff --git a/info.plist b/info.plist index 6032923..abbc7ea 100644 --- a/info.plist +++ b/info.plist @@ -145,7 +145,7 @@ version - 1.8.0 + 1.9.0 webaddress https://github.com/fedecalendino/alfred-pwd-gen diff --git a/pyproject.toml b/pyproject.toml index 6f4f014..b98cd4d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "Password Generator" -version = "1.8.0" +version = "1.9.0" description = "Generate secure passwords" documentation = "https://github.com/fedecalendino/alfred-pwd-gen/blob/main/README.md" homepage = "https://github.com/fedecalendino/alfred-pwd-gen" diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..2b375dc --- /dev/null +++ b/requirements.txt @@ -0,0 +1,6 @@ +alfred-pyflow==0.4.6 ; python_version >= "3.8" and python_version < "3.12" +certifi==2023.11.17 ; python_version >= "3.8" and python_version < "3.12" +charset-normalizer==3.3.2 ; python_version >= "3.8" and python_version < "3.12" +idna==3.6 ; python_version >= "3.8" and python_version < "3.12" +requests==2.31.0 ; python_version >= "3.8" and python_version < "3.12" +urllib3==1.26.6 ; python_version >= "3.8" and python_version < "3.12" diff --git a/src/generator.py b/src/generator.py index d8b8520..fd87c3a 100755 --- a/src/generator.py +++ b/src/generator.py @@ -1,8 +1,7 @@ import random - +import secrets from math import log - LETTERS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" DIGITS = "0123456789" SYMBOLS = "!#$%&*+,-.:;<=>?@^_`~|" @@ -12,7 +11,7 @@ def generate(letters: int, digits: int, symbols: int): characters = [] for amount, space in [(letters, LETTERS), (digits, DIGITS), (symbols, SYMBOLS)]: - tmp = (random.choice(space) for _ in range(amount)) + tmp = (secrets.choice(space) for _ in range(amount)) characters.extend(tmp) random.shuffle(characters) diff --git a/src/main.py b/src/main.py index 7af46cf..be04d87 100644 --- a/src/main.py +++ b/src/main.py @@ -58,7 +58,7 @@ def format_number(value: int, name: str) -> str: def parse_args(args: List[str]): - values = [10, 3, 3] + values = [15, 6, 6] try: for i, value in enumerate(args): @@ -79,7 +79,7 @@ def increment(value: int, inc: int) -> int: def main(workflow: Workflow): letters, digits, symbols = parse_args(workflow.args) - for x in range(6): + for x in [0, 0, -2, -1, 1, 2]: l = increment(letters, x) d = increment(digits, x) s = increment(symbols, x)