while循环Python的编码问题

2024-09-30 04:32:30 发布

您现在位置:Python中文网/ 问答频道 /正文

好的,我试着创建一个小程序,为每个文本输入创建一个散列。你知道吗

第一个循环很好,它得到了正确的散列,但在那之后它只是继续编码其他东西,我不确定是什么。这意味着一个带有哈希的登录系统不能工作。你知道吗

有人能帮忙吗!!!!你知道吗

import hashlib
encoder = hashlib.md5()
while True:
    OString = input("Input some text here >")
    encoder.update(OString.encode())
    hashedString = encoder.hexdigest()
    print(hashedString)

    Ostring = None
    hashedString = None

结果:

Input some text here >leila
754f9968bf5f5f68d7dea029889b7415
Input some text here >leila
e0d1d4c285dda17ba6ca74a4dc85ebac
Input some text here >leila
419b5673f979911d3418472b105b6d3b
Input some text here >leila
71cf61a5ed5ebe751fdd1409928fe29d
Input some text here >leila
8149e3cc783fc400a7d26d63d5725536
Input some text here >leila
25c64d332128eb267f8d38f4140f19a3

Tags: text文本import程序none编码encoderinput
2条回答

解决方案如下:

while True:
    encoder = hashlib.md5()
    OString = input("Input some text here >")
    encoder.update(OString.encode())
    hashedString = encoder.hexdigest()
    print(hashedString)

    Ostring = None
    hashedString = None

实际上,您正在重新设置第一个值的大小,因为encoder = hashlib.md5()对象变量在while循环之外。你知道吗

希望这有帮助。你知道吗

您每次都必须实例化新的md5编码器,因为您只需将一些字符串附加到旧字符串,并从它们的串联中获取哈希值:

import hashlib
while True:
    OString = input("Input some text here >")
    encoder = hashlib.md5()
    encoder.update(OString.encode())
    hashedString = encoder.hexdigest()
    print(hashedString)

    Ostring = None
    hashedString = None

相关问题 更多 >

    热门问题