Files
chunyu_project/utils/RandCode.py
T
2026-08-05 23:59:15 +08:00

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))