ホームページ  >  記事  >  バックエンド開発  >  検証コードのランダム生成

検証コードのランダム生成

巴扎黑
巴扎黑オリジナル
2017-07-17 15:59:451668ブラウズ

1. リスト

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)

の助けを借りて、上記のコードはランダムな検証コードの機能を実装していますが、小文字を含むランダムな検証コードのみを生成し、完了するためにリストも使用します。文字列の結合と追加 上記のリストでは、string jion() メソッドがランダムな検証コードを生成します。大文字の確認コードを生成する方法も試してみましょう。

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)

データ間には、「より大きい」、「より小さい」、「等しい」という 3 つの関係があるため、それぞれの状況を分析することで、3 つのランダムな検証コードが生成されます。等しい場合は小文字の検証コードが生成されます。以上の場合は数字、未満の場合は大文字の認証コードを生成することで、Webサイト上で共通の認証コードを実現します。

2. 文字列のスプライシング

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)

この方法は、実際には、上記の方法の本質は同じである可能性があります。 . 少し高くなりますが、いずれもランダム認証コードの機能を実装しています。

2. 請求書シリアル番号の生成方法

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)

シリアル番号は購入時の時刻シリアル番号であるため、請求書シリアル番号は日時モジュールと時刻モジュールで構成されます。時が経っても、それは決して変わりません。

3. 範囲メソッドを使用します

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


以上が検証コードのランダム生成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。