Python--随机生成指定长度的密码

在浏览别人博客时学习了random模块,手痒自我练习下,写个随机生成指定长度的密码字符串的函数,拿出来供各位参考:

废话不多说,上代码:

# coding: utf-8
import random
import string

SPECIAL_CHARS = ‘~%#%^&*‘
PASSWORD_CHARS = string.ascii_letters + string.digits + SPECIAL_CHARS

def generate_random_password(password_length=10):
    """
    生成指定长度的密码字符串,当密码长度超过3时,密码中至少包含:
    1个大写字母+1个小写字母+1个特殊字符
    :param password_length:密码字符串的长度
    :return:密码字符串
    """
    char_list = [
        random.choice(string.ascii_lowercase),
        random.choice(string.ascii_uppercase),
        random.choice(SPECIAL_CHARS),
    ]
    if password_length > 3:
        # random.choice 方法返回一个列表,元组或字符串的随机项
        # (x for x in range(N))返回一个Generator对象
        # [x for x in range(N)] 返回List对象
        char_list.extend([random.choice(PASSWORD_CHARS) for _ in range(password_length - 3)])
    # 使用random.shuffle来将list中元素打乱
    random.shuffle(char_list)
    return ‘‘.join(char_list[0:password_length])

def test_password_generate():
    random_password = generate_random_password(password_length=6)
    print(random_password)

test_password_generate()

打完手工,上妹子:

时间: 2025-01-05 03:50:27

Python--随机生成指定长度的密码的相关文章

随机生成指定长度的密码之---Random

随机生成指定长度的密码思路: 1.密码中可能包含字母,数字,特殊符号,为了区别分别定义常量 2.随机生成密码,自然想到要用到java.util.Random 类 3.定义一个带两个参数的方法,1跟2,分别指定密码内容类型和密码长度 具体实现过程: import java.util.Random;/** * @author * @date 创建时间: * @version 1.0 * @parameter * @since * @return */public class RandomChar {

Python随机生成指定长度字符串并保存到mysql中

网上看到一个python练习题,要随机生成8位数的优惠券,并希望能保存到mysql数据库中.自己查资料写了下面的一段代码完成这个小作业 #!/usr/bin/env python # -*- coding: utf-8 -*- #author qingmiao import MySQLdb as mdb import sys import random,string def random_code(code_length,code_long):     i=1     result = []  

随机生成指定长度的数字+字符的密码

/// <summary> /// 生成随机数的种子 /// </summary> /// <returns></returns> private static int getNewSeed() { byte[] rndBytes = new byte[4]; System.Security.Cryptography.RNGCryptoServiceProvider rng = new System.Security.Cryptography.RNGCryp

4.java随机生成指定长度的字符串

//生成随机数字和字母, public static String getStringRandom(int length) { String val = ""; Random random = new Random(); //参数length,表示生成几位随机数 for(int i = 0; i < length; i++) { String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num

.NET(C#)生成指定长度的随机字符串的通用方法

.NET(C#)生成指定长度的随机字符串的通用方法,此方法可以指定字符串的长度,是否包含数字,是否包含符号,是否包含小写字母,是否包含大写字母等, 源码: 1 #region 生成指定长度的随机字符串 2 /// <summary> 3 /// 生成指定长度的随机字符串 4 /// </summary> 5 /// <param name="intLength">随机字符串长度</param> 6 /// <param name=&

Python随机生成验证码的两种方法

Python随机生成验证码的方法有很多,今天给大家列举两种,大家也可以在这个基础上进行改造,设计出适合自己的验证码方法方法一:利用range Python随机生成验证码的方法有很多,今天给大家列举两种,大家也可以在这个基础上进行改造,设计出适合自己的验证码方法 方法一: 利用range方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # -*- coding: utf-8 -*- import random def generate_verification_c

python随机生成模块的应用

random() random()方法不能直接访问,需要导入random模块,然后通过random静态对象调用该方法 import random #用import导入random模块 random.randint(a,b)函数指定范围内随机数生成,其中参数a是最低限,参数b是上限 1 import random #导入随机数生成模块 2 print(random.randint(0,20)) # 打印指定范围内的随机数值 ,其中下限参数a不得大于上限参数b 终端执行结果13 random.ran

生成指定长度的字符串

#region 生成指定长度的字符串 2 /// <summary> 3 /// 生成指定长度的字符串,即生成strLong个str字符串 4 /// </summary> 5 /// <param name="strLong">生成的长度</param> 6 /// <param name="str">以str生成字符串</param> 7 /// <returns></re

随机得到指定长度的随机字符串,可以用于实现动态验证码

在开发过程中,可能需要得到指定长度的字符串,比如验证码就有这种需求,对此存在几种常见的方法,总结如下: 1.指定一个数组或者字符串,通过Math.random()得到一个随机数,并作为下表进行字符的获取,具体代码如下:. public String getRandomString2(Integer len){ char[] takeArr = {'0','1','2','3','4','5','6','7','8','9', 'A','B','C','D','E','F','G','H','I'