58 lines
2.2 KiB
Python
58 lines
2.2 KiB
Python
"""Random code generation utility."""
|
|
|
|
import secrets
|
|
|
|
# Character sets
|
|
all_visible_characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_=+[]{}|;:,.<>?/~`"\'\\'
|
|
alphanumeric_characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
|
|
digit_characters = '0123456789'
|
|
special_characters = '!@#$%^&*()-_=+[]{}|;:,.<>?/~`"\'\\'
|
|
uppercase_only = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
|
lowercase_only = 'abcdefghijklmnopqrstuvwxyz'
|
|
lowercase_digits = 'abcdefghijklmnopqrstuvwxyz0123456789'
|
|
uppercase_digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
|
|
|
|
|
|
def get_all_visible_characters_code_8():
|
|
"""Generate an 8-character code from all visible characters."""
|
|
return ''.join(secrets.choice(all_visible_characters) for _ in range(8))
|
|
|
|
|
|
def get_all_visible_characters_code_6():
|
|
"""Generate a 6-character code from all visible characters."""
|
|
return ''.join(secrets.choice(all_visible_characters) for _ in range(6))
|
|
|
|
|
|
def get_all_visible_characters_code(length: int):
|
|
"""Generate a code of given length from all visible characters."""
|
|
return ''.join(secrets.choice(all_visible_characters) for _ in range(length))
|
|
|
|
|
|
def get_alphanumeric_characters_code(length: int):
|
|
"""Generate a code of given length from alphanumeric characters."""
|
|
return ''.join(secrets.choice(alphanumeric_characters) for _ in range(length))
|
|
|
|
|
|
def get_alphanumeric_characters_code_6():
|
|
"""Generate a 6-character code from alphanumeric characters."""
|
|
return ''.join(secrets.choice(alphanumeric_characters) for _ in range(6))
|
|
|
|
|
|
def get_alphanumeric_characters_code_8():
|
|
"""Generate an 8-character code from alphanumeric characters."""
|
|
return ''.join(secrets.choice(alphanumeric_characters) for _ in range(8))
|
|
|
|
|
|
def get_digit_characters_code(length: int):
|
|
"""Generate a code of given length from digit characters."""
|
|
return ''.join(secrets.choice(digit_characters) for _ in range(length))
|
|
|
|
|
|
def get_digit_characters_code_6():
|
|
"""Generate a 6-character code from digit characters."""
|
|
return ''.join(secrets.choice(digit_characters) for _ in range(6))
|
|
|
|
|
|
def get_digit_characters_code_8():
|
|
"""Generate an 8-character code from digit characters."""
|
|
return ''.join(secrets.choice(digit_characters) for _ in range(8)) |