【问题标题】:Run string through hashlib通过 hashlib 运行字符串
【发布时间】:2021-12-21 13:47:59
【问题描述】:

假设我有一个类似的字符串:

string = '456878921'

我想通过python可以从某个包(比如说hashlib)提供的每种散列类型运行这个字符串,所以理想情况下,这个问题的解决方案是这样的:

hashes = ['md5', 'sha256']

for n in hashes:
    print(str(n) + ": " + str(hashlib.n(string).hexdigest())

这在 python 中甚至可能吗?

【问题讨论】:

    标签: python hashlib


    【解决方案1】:

    你可以使用getattr:

    bytes = string.encode('utf-8') # hashlib algorithms require bytes!
    
    for h in hashes:
        hash = getattr(hashlib, h)
        print(f'{h}: {hash(bytes).hexdigest()}')
    

    【讨论】:

    • 太棒了。正是我需要的。谢谢!
    【解决方案2】:
    import hashlib
    hash_obj = hashlib.sha256(b'456878921')
    hexing= hash_obj.hexdigest()
    print(hexing)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-10
      • 1970-01-01
      • 1970-01-01
      • 2013-09-11
      • 2019-07-20
      • 2010-09-22
      • 1970-01-01
      • 2012-03-25
      相关资源
      最近更新 更多