Python 生成指定位数随机不重复密码,必须包含大小字母数字特殊字符

#生成指定位数随机不重复密码,必须包含大小字母数字特殊字符
import random
import string
def random_password(num):
result=’’
choice=‘0123456789’+string.ascii_lowercase+string.ascii_uppercase+string.punctuation
result += random.choice(‘0123456789’)
result += random.choice(string.ascii_lowercase)
result += random.choice(string.ascii_uppercase)
result += random.choice(string.punctuation)
for i in range(num-4):
a = random.choice(choice)
if a not in result:
result+=a
return result

random_password(10)

#方法2
def random_password():
import random
import string
string_lower = string.ascii_lowercase
string_upper = string.ascii_uppercase
string_digits = string.digits
string_all = string_lower+string_upper+string_digits
string.password = ‘’
for i in range(10):
if i == 0:
string.password+=random.choice(string_lower)
elif i == 1:
string.password+=random.choice(string_upper)
elif i == 2:
string.password+=random.choice(string_digits)
else:
string.password+=random.choice(string_all)
return string.password

print(random_password())

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值