krz/yoshi-cli

Archived

A password manager for the command line. cli password-manager terminal

Commit d5f657283b

d5f657283bc7de525661f3a967e5d6fb213763d2

parent: a7bf2c602b

Verified · cmc

cmc <hello@cleberg.net> · 2025-04-05 03:32 UTC

fix: replace random.choice with secrets.choice

Layout: unified · split

yoshi/process.py +4 −3
@@ -25,6 +25,7 @@ Usage:
2525
2626from string import ascii_letters, punctuation, digits
2727import random
28import secrets
2829import uuid
2930from prettytable import PrettyTable
3031from yoshi.account import Account
@@ -45,7 +46,7 @@ def generate_characters(n: int) -> list:
4546 characters = []
4647 password_format = ascii_letters + punctuation + digits
4748 for _ in range(n):
48 characters.append(random.choice(password_format))
49 characters.append(secrets.choice(password_format))
4950 return characters
5051
5152
@@ -76,9 +77,9 @@ def generate_passphrase(n: int, sep: str) -> str:
7677 str: A string representation of the passphrase
7778 """
7879 phrases = []
79 lucky_number = random.choice(range(0, n))
80 lucky_number = secrets.choice(range(0, n))
8081 for _ in range(n):
81 word = random.choice(WORDLIST)
82 word = secrets.choice(WORDLIST)
8283 if _ == lucky_number:
8384 phrases.append(word.capitalize() + str(_))
8485 else: