refactor: login captcha

This commit is contained in:
wxg0103 2025-05-21 10:34:01 +08:00
parent c1ddec1a61
commit 190ca3e198

View File

@ -300,8 +300,12 @@ def markdown_to_plain_text(md: str) -> str:
return text
CHAR_SET = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
SAFE_CHAR_SET = (
[chr(i) for i in range(65, 91) if chr(i) not in {'I', 'O'}] + # 大写字母 A-H, J-N, P-Z
[chr(i) for i in range(97, 123) if chr(i) not in {'i', 'l', 'o'}] + # 小写字母 a-h, j-n, p-z
[str(i) for i in range(10) if str(i) not in {'0', '1', '7'}] # 数字 2-6, 8-9
)
def get_random_chars(number=6):
return "".join([CHAR_SET[random.randint(0, len(CHAR_SET) - 1)] for index in range(number)])
def get_random_chars(number=4):
return ''.join(random.choices(SAFE_CHAR_SET, k=number))