生成随机验证码的方法

Posted (野生程序员)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成随机验证码的方法相关的知识,希望对你有一定的参考价值。

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)

  上述代码实现了随机验证码的功能,但是只能生成包含小写字母的随机验证码;并且我们也是借助列表完成的,字符串的拼接加上列表,字符串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)

  由于数据之间有三种关系,大于,小于,等于,这样把每种情况都进行分析,就能生成三种随机验证码;当等于的时候生成小写验证码,等大于的时候生成数字,当小于的时候生成大写字母验证码,这样就实现了我们在网站上面常见的验证码的形式。

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 += string

    return code

result = verification_code()
print(result)

  此方法就是使用字符串的拼接生成的随机验证码,其实上述方法的本质都是一样的,可能第一种方法的效率还会更高一点,但是都实现了随机验证码的功能。

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)

以上是关于生成随机验证码的方法的主要内容,如果未能解决你的问题,请参考以下文章

登录验证随机验证码的实现

Java 生成任意长度的验证码的两个方法

随机图片验证码的生成

实验任务四:随机验证码的生成

5简单随机验证码的生成练习

js-产生随机验证码的方法