我写了一个代码,将生成5次随机密码,我想把密码编码到MD5,但当我试图编码它,它会显示一个错误,即“NoneType”对象没有属性“encode”,我不知道如何更改代码,以避免这个错误。抱歉,我是python初学者。。。我的代码在下面。谢谢你的帮助
import random, string
import hashlib
length = 6
chars = string.ascii_letters + string.digits
def ff():
rnd = random.SystemRandom()
a = (''.join(rnd.choice(chars) for i in range(length)))
c = a
return(c)
def ff2():
for i in range(5):
print(ff(),' ')
str = ff2()
result = hashlib.md5(str.encode())
print("The hexadecimal equivalent of hash is : ", end ="")
print(result.hexdigest())
函数
ff2
不返回任何内容,因此str
将是NoneType
类型。你知道吗IIUC,您的ff2()函数应该调用
ff()
五次,但它不应该输出结果。它应该将它们累积在一个字符串中并返回字符串。可能是这样的:在这里,我们将对
ff()
的五个调用的结果累加到一个列表l
中,然后 使用字符串方法join()
将它们连接在一起。 上面返回一个字符串,它是对ff()的调用返回的五个字符串的串联,用空格分隔它们。如果需要逗号作为分隔符,只需将return " ".join(l)
替换为return ",".join(l)
。你知道吗相关问题 更多 >
编程相关推荐