Maison  >  Article  >  développement back-end  >  Génération aléatoire de codes de vérification

Génération aléatoire de codes de vérification

巴扎黑
巴扎黑original
2017-07-17 15:59:451668parcourir

1. À l'aide de la 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)

Le code ci-dessus réalise la fonction de vérification aléatoire code, mais il ne peut générer qu'un code de vérification aléatoire contenant des lettres minuscules ; et nous utilisons également une liste pour le compléter. L'épissage des chaînes plus la liste et la méthode string jion() génèrent un code de vérification aléatoire. Essayons également la méthode de génération de code de vérification en majuscules.

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)

Puisqu'il existe trois relations entre les données, supérieure, inférieure et égale à, en analysant chaque situation, trois types d'aléatoire peuvent être Code de vérification généré ; lorsqu'il est égal à, un code de vérification en minuscule est généré, lorsqu'il est supérieur à un nombre, un nombre est généré, lorsqu'il est inférieur à, un code de vérification en majuscule est généré, réalisant ainsi le code de vérification commun. formulaire que nous avons sur le site Web.

2. Épissage de chaînes

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)

Cette méthode consiste à utiliser des chaînes. Les codes de vérification aléatoires générés par l'épissage sont en fait essentiellement les mêmes. La première méthode est peut-être plus efficace, mais ils réalisent tous la fonction de codes de vérification aléatoires.

2. Méthode de génération du numéro de série de la facture

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)

Le numéro de série de la facture est composé du module datetime et du module heure, car le numéro de série est le numéro de série horaire de l'achat à ce moment-là, et il ne sera jamais répété.

3. Utilisez la méthode de plage

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


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn