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)