Python 生成批量随机密码

简介: Python 生成批量随机密码

c4cba43406c54b0eaa7e9d7e976e81cb.png 密码是一种身份验证和数据保护的重要工具,常见的有日常生活中各种的账号密码,生成一个可以自己设计,那对于数据库中众多的用户,怎么生成批量密码呢?本文主要介绍使用Python生成单个和批量用户密码;

介绍熟悉一些常用的密码字符,常见的英文字母、数字和特殊标点字符;

生成单个用户密码,从所选字符集中随机选择字符,最终生成指定长度的密码;

生成批量用户密码,根据生成单个用户密码进行封装成程序,使之可以生成任意数量和长度的用户密码;

首先介绍一下一些常见的字符;

print(string.ascii_lowercase) # 小写英文字母
print(string.ascii_uppercase) # 大写英文字母
print(string.ascii_letters) # 大小写英文字母
print(string.digits) # 0-9数字
print(string.punctuation) # 特殊标点字符
string.whitespace # 转义字符,等打印被视为空白的字符串

string.printable # 大小写英文字母、0-9数字、特殊标点字符、转义字符,等打印被视为空白的字符串

以上是最基本的字符,如果不清楚可以前往Python 官网查看和扩展;

然后根据字符编写随机生成单个用户ID和密码函数并测试;

import random
import string
def generate_random_password(length):
    '''生成指定长度的密码'''
    # 定义可选的字符集
    chars_set = string.ascii_letters + string.digits + string.punctuation 
    # 从字符集中随机选择字符进行组合拼接至指定长度
    password = ''.join(random.choice(chars_set) for i in range(length))
    return password

# 假设用户ID是10位数字
user_id = ''.join(random.choice(string.digits) for i in range(10))
print('user_id:',user_id,'\npassword:',generate_random_password(30))

根据前面的步骤,进一步编写函数生成批量用户ID和密码;

def generate_users_password(num,psd_length):
    '''生成批量用户和密码'''
    # 定义空列表
    user_passwords = []
    for i in range(num):
        # 假设用户ID是10位数字,可调整
        user_id = ''.join(random.choice(string.digits) for i in range(10))
        # 调用生成指定长度密码的函数
        password = generate_random_password(psd_length)
        # 根据数量进行用户和密码拼接
        user_passwords.append((user_id,password))
    return user_passwords

generate_users_password(10,30)

最后将代码组合起来,并且进行修饰封装成程序,使之可以生成任意数量和长度的用户密码:

import random
import string
import pandas as pd
def generate_random_password(length):
    '''生成指定长度的密码'''
    # 定义可选的字符集
    chars_set = string.ascii_letters + string.digits + string.punctuation
    # 从字符集中随机选择字符进行组合拼接至指定长度
    password = ''.join(random.choice(chars_set) for i in range(length))
    return password

def generate_user_password(num,psd_length):
    '''生成批量用户和密码'''
    user_passwords = []
    for i in range(num):
        # 假设用户ID是10位数字,可调整
        user_id = ''.join(random.choice(string.digits) for i in range(10))
        # 调用生成指定长度密码的函数
        password = generate_random_password(psd_length)
        # 根据数量进行用户和密码拼接
        user_passwords.append((user_id,password))
    return user_passwords

if __name__ == '__main__':
    num = int(input('请输入需要生成的用户和密码数量:'))
    psd_length = int(input('请输入需要生成的密码长度:'))
    df = pd.DataFrame(generate_user_password(num,psd_length), columns=['user_id', 'password'])
    print(df.to_markdown(index=False))

c4cba43406c54b0eaa7e9d7e976e81cb.png

相关文章
|
1月前
|
数据安全/隐私保护 Python
1178: 密码翻译(python)
1178: 密码翻译(python)
|
1月前
|
存储 Shell 数据安全/隐私保护
Python 密码破解指南:0~4
Python 密码破解指南:0~4
169 0
Python 密码破解指南:0~4
|
1月前
|
存储 算法 安全
Python 密码破解指南:20~24
Python 密码破解指南:20~24
140 0
|
1月前
|
存储 Shell 数据安全/隐私保护
Python 密码破解指南:15~19
Python 密码破解指南:15~19
211 0
|
1月前
|
存储 Shell 数据安全/隐私保护
Python 密码破解指南:10~14
Python 密码破解指南:10~14
176 0
|
1月前
|
存储 Shell 数据安全/隐私保护
Python 密码破解指南:5~9
Python 密码破解指南:5~9
114 0
|
21天前
|
数据安全/隐私保护 Python
【Python 训练营】N_1 验证密码
【Python 训练营】N_1 验证密码
|
1月前
|
存储 安全 数据库
自动化密码填充:使用Python提高日常工作效率
自动化密码填充:使用Python提高日常工作效率
38 0
|
1月前
|
人工智能 安全 数据安全/隐私保护
Python中多种生成随机密码超实用实例
Python中多种生成随机密码超实用实例
28 0
|
1月前
|
存储 数据安全/隐私保护 Python
python批量压缩文件并生成解压密码
该教程指导安装Python库`py7zr`以处理7z压缩文件。接着,提供了一个Python脚本,该脚本遍历指定目录,对每个文件创建加密的7z压缩包,并为每个文件生成独特密码,密码存储在文本文件中。要运行脚本,将其保存为`.py`文件并在命令行使用`python`命令执行。注意,路径需根据操作系统调整,且应使用原始字符串避免`\`的转义问题。
26 0