如何生成大小为N的字符串,由数字和大写英文字母组成,例如:
6个754z4英国U911K4型
如何生成大小为N的字符串,由数字和大写英文字母组成,例如:
6个754z4英国U911K4型
当前回答
import uuid
lowercase_str = uuid.uuid4().hex
lowercase_str是一个随机值,如“cea8b32e0934aae8c005a35d85a5c0”
uppercase_str = lowercase_str.upper()
上机匣_str为“CEA8B32E00934AAEA8C005A35D85A5C0”
其他回答
我想建议您下一个选择:
import crypt
n = 10
crypt.crypt("any sring").replace('/', '').replace('.', '').upper()[-n:-1]
妄想模式:
import uuid
import crypt
n = 10
crypt.crypt(str(uuid.uuid4())).replace('/', '').replace('.', '').upper()[-n:-1]
>>> import random
>>> str = []
>>> chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'
>>> num = int(raw_input('How long do you want the string to be? '))
How long do you want the string to be? 10
>>> for k in range(1, num+1):
... str.append(random.choice(chars))
...
>>> str = "".join(str)
>>> str
'tm2JUQ04CK'
random.choice函数在列表中选择一个随机条目。还可以创建一个列表,以便可以在for语句中追加字符。在结尾str是[t','m','2','J','U','Q','0','4','C','K'],但是str=“”.join(str)会处理这一点,留下'tm2JUQ04CK'。
希望这有帮助!
import uuid
lowercase_str = uuid.uuid4().hex
lowercase_str是一个随机值,如“cea8b32e0934aae8c005a35d85a5c0”
uppercase_str = lowercase_str.upper()
上机匣_str为“CEA8B32E00934AAEA8C005A35D85A5C0”
生成包含字母、数字、“_”和“-”的随机16字节ID
os.urantom(16).translate((f'{string.ascii_letters}{string.digitals}-'*4).encode('ascii'))
我发现这更简单、更干净。
str_Key = ""
str_FullKey = ""
str_CharacterPool = "01234ABCDEFfghij~>()"
for int_I in range(64):
str_Key = random.choice(str_CharacterPool)
str_FullKey = str_FullKey + str_Key
只需更改64以更改长度,更改CharacterPool以仅使用字母数字、仅使用数字或奇怪的字符或任何您想要的字符。