Heim  >  Artikel  >  Backend-Entwicklung  >  Zufällige Generierung von Verifizierungscodes

Zufällige Generierung von Verifizierungscodes

巴扎黑
巴扎黑Original
2017-07-17 15:59:451669Durchsuche

1. Mit Hilfe der Liste

import random

def random_code():
    random_list = []for i in range(4):
        ra = random.randrange(4)if ra == i:
            random_list.append(chr(random.randrange(97,122)))else:
            random_list.append(str(random.randrange(0,9)))
    code = "".join(random_list)return code

result = random_code()
print(result)

Der obige Code realisiert die Funktion der Zufallsüberprüfung Code, aber es kann nur ein zufälliger Bestätigungscode generiert werden, der Kleinbuchstaben enthält, und wir verwenden auch eine Liste, um ihn zu vervollständigen. Durch das Zusammenfügen von Zeichenfolgen und die Methode „string jion()“ wird ein zufälliger Bestätigungscode generiert. Probieren wir auch die Methode zum Generieren eines Verifizierungscodes in Großbuchstaben aus.

import random

def random_code():
    random_list = []for i in range(4):
        ra = random.randrange(4)if ra == i:
            random_list.append(chr(random.randrange(97,122)))
        elif ra > i:
            random_list.append(str(random.randrange(0,9)))else:
            random_list.append(chr(random.randrange(65,90)))
    code = "".join(random_list)return code

result = random_code()
print(result)

Da es drei Beziehungen zwischen Daten gibt, größer als, kleiner als und gleich, können durch die Analyse jeder Situation drei Arten von Zufälligkeiten entstehen generierter Verifizierungscode; wenn er gleich ist, wird ein Verifizierungscode in Kleinbuchstaben generiert, wenn er größer als eine Zahl ist, wird eine Zahl generiert, wenn er kleiner als ist, wird ein Verifizierungscode in Großbuchstaben generiert, wodurch der gemeinsame Verifizierungscode realisiert wird Formular, das wir auf der Website haben.

2. String-Spleißen

import random

def verification_code():
    code = ""for i in range(1,5):
        ra = random.randint(1,4)if ra == i:string = chr(random.randrange(97,122))
        elif ra > i:string = chr(random.randrange(65,90))else:string = str(random.randint(0,9))
        code += stringreturn code

result = verification_code()
print(result)

Bei dieser Methode werden Strings verwendet Durch Spleißen erzeugte zufällige Verifizierungscodes sind im Wesentlichen gleich. Die erste Methode ist möglicherweise effizienter, sie realisieren jedoch alle die Funktion von zufälligen Verifizierungscodes.

2. Methode zur Generierung der Rechnungsseriennummer

import datetime,time

def serial_number():
    serial = "{0}{1}".format(datetime.datetime.now().strftime("%Y%m%d%H%M%S"),str(int(time.time())))return serial

message = serial_number()
print(message)

Die Rechnungsseriennummer besteht aus dem Datum-Uhrzeit-Modul und dem Zeitmodul, da die Seriennummer die Zeitseriennummer des Kaufs zu diesem Zeitpunkt ist und niemals wiederholt wird.

3. Verwenden Sie die Bereichsmethode

import random
def generate_verification_code(len=6):
    ''' 随机生成6位的验证码 '''
    # 注意: 这里我们生成的是0-9A-Za-z的列表,当然你也可以指定这个list,这里很灵活
    # 比如: code_list = ['P','y','t','h','o','n','T','a','b'] # PythonTab的字母
    code_list = [] 
    for i in range(10): # 0-9数字
        code_list.append(str(i))
    for i in range(65, 91): # 对应从“A”到“Z”的ASCII码
        code_list.append(chr(i))
    for i in range(97, 123): #对应从“a”到“z”的ASCII码
        code_list.append(chr(i))
    myslice = random.sample(code_list, len)  # 从list中随机获取6个元素,作为一个片断返回
    verification_code = ''.join(myslice) # list to string
    return verification_code


Das obige ist der detaillierte Inhalt vonZufällige Generierung von Verifizierungscodes. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn