随机生成n个长度的密码
时间: 2023-09-20 18:08:13 浏览: 46
好的,生成n个长度为10的随机密码的Python代码如下:
```python
import random
import string
def generate_passwords(n):
passwords = []
for i in range(n):
password = ''.join(random.choices(string.ascii_letters + string.digits, k=10))
passwords.append(password)
return passwords
n = 5
passwords = generate_passwords(n)
print(passwords)
```
其中,`random.choices()`函数用于从指定的序列中随机获取指定长度的元素,`string.ascii_letters`包含所有的字母(大小写),`string.digits`包含所有的数字。`join()`函数用于将字符串列表拼接成一个字符串。上述代码将生成5个长度为10的随机密码,并打印输出。
相关问题
这句话的意思是Python随机生成以整数17为随机种子的子。,密码长度为用户输入整数n,密码的每位是0-9中的随机整数符号,调用自定义的函数生成3个长度为N的密码,每个密码单独一行输出
根据你提供的信息,这句话的意思是:使用 Python 中的随机数生成器,以整数 17 作为随机种子,生成长度为 n 的密码,密码中每一位都是 0-9 中的随机整数。然后调用一个自定义的函数来生成 3 个长度为 n 的密码,每个密码单独一行输出。
以下是一个可能的实现:
```python
import random
def generate_passwords(n):
# 生成一个长度为 n 的随机密码
password = ''.join([str(random.randint(0, 9)) for _ in range(n)])
return password
# 设置随机种子
random.seed(17)
# 获取用户输入
n = int(input("请输入密码长度:"))
# 生成 3 个密码
for i in range(3):
password = generate_passwords(n)
print(password)
```
这个程序会先通过 `input` 函数获取用户输入的密码长度,然后使用 `random.seed(17)` 设置随机种子。接着,调用自定义的 `generate_passwords` 函数生成一个长度为 n 的随机密码,并将其输出到控制台。程序会重复这个过程,生成 3 个长度为 n 的随机密码并输出。
c++随机生成账号密码
C语言中可以使用随机数函数`rand()`来生成随机的账号密码。该函数返回一个范围在0到RAND_MAX之间的数字,我们可以对其进行处理以生成长度和字符类型合适的随机数。
首先需要用`srand()`函数设定随机数种子,否则每次生成的随机数都会一样。可以使用`time()`函数来获取当前时间,将其作为种子即可:
```
srand((unsigned)time(NULL));
```
接着,可以像下面这样创建一个字符串类型的数组来保存生成的随机密码(以长度为8、只包含字母和数字为例):
```
char password[9]; // 注意最后一个字符为结束符'\0'
for(int i = 0; i < 8; i++){
int n = rand() % 36; // 生成0-35的随机数
if(n < 10){
password[i] = '0' + n; // 数字对应ASCII码为48-57
}else{
password[i] = 'a' + n - 10; // 字母对应ASCII码为97-122
}
}
password[8] = '\0'; // 加上结束符
```
这样,就可以将生成的随机密码储存在`password`数组中了。同理,可以根据需要生成包括特殊字符、大小写字母等其他类型的随机密码,只需在生成随机数时控制其范围即可。在生成随机账号时,根据需要的账号格式,也可以采用类似的方法来生成随机字符串。