首页 > 解决方案 > 我有一个哈希列表及其出现次数。我想获取出现次数(分号后的数字)

问题描述

这是我的代码。它得到一个散列列表,这些散列被泄露了。我想检查我的密码。我想要它做的是,当它发现它时,它会向我抛出它被泄露的次数,如果有的话。如何实现?例如,假设我们必要的哈希恰好是第二个,因此我们想要提取数字 3。我们已经是它前面的哈希。正如您在代码中看到的那样,它被命名为“结束”。

import hashlib
import requests


password = input("Enter password: ")

encoded_str = password.encode()
hash_obj = hashlib.sha1(encoded_str)
hashed = hash_obj.hexdigest().upper()

beginning = hashed[:5]
ending = hashed[5:].strip()
response = requests.get("https://api.pwnedpasswords.com/range/"+beginning)
output = response.text
listing = output.split()
print(listing)

输出:

['0015711CF2308DD93DC449B888F9805B728:1', '0083F4473656452B43073DF2861FD289F63:3', '0DE17FB8EC56DD673FF3AF94BAB5029BFF2:1', '0DEC778F27B49DECF0E7C3B8AB2DD152990:15', '0E8EEF1620F095A7A26F679388A02EFEA4C:2', '0FD09EF75E6654D1E2FB5FC715A11331B6D:2', '11CFB41389B28F08B74A17851292D086922:1', '12A7DE6568963683AA7D21E3FBA1A1B5D39:1', '12B602E54A280622E21FC57607D70F9E3D6:4', '133B5AFB8798339FF1BF29DBBD068DFB556:2912', '13723F1F53E4468943870CA48E2093C0531:5', '139946DFB7AA0936F96DFB9B27931508AC3:1', '13AB10DBA939781F0416361A25024EF0D8C:4', '13E2A779A5F3F6C4BA21F23A5FB949DE347:2', '52CFB9745616A23A369EA5AD9D480DFE8E9:1', '52F07FB24866744C9E7D7460A04C143AAA3:2']

我们的目标输出: 3

标签: pythonlist

解决方案


尝试使用此代码:

num = 0
for line in listing:
    if ending in line:
        num = line.split(':')[1]
        break
else:
    print("the 'ending' is not in 'listing'")

推荐阅读