【问题标题】:Hash a vector of e.g. strings to obtain one-by-one sha256 vector of hashes (Python)散列一个向量,例如字符串以获取哈希的一对一 sha256 向量(Python)
【发布时间】:2021-03-07 00:53:01
【问题描述】:

我想知道是否存在一个 Python 函数 f 可以同时计算向量的单个 sha256 数。例如。如果你有一个向量 A=[a b],函数 f 给出 f(A) = [sha256(a) sha256(b)] (a 和 b 是字符串或数字)。

我不能让它与 hashlib 一起工作。此外,R 中的“openssl”包具有这样的功能“sha256”。有没有等价的?

我正在使用 Spyder IDE。

谢谢。

【问题讨论】:

    标签: python vector hash sha256


    【解决方案1】:
    A = [a,b]
    Asha = list(map(sha256, A))
    

    def sha256List(arr):
       return list(map(sha256, arr))
    
    Asha = sha256List(A)
    

    编辑

    如果您想要一个包含 hexdigest 值的列表,您可以使用

    def sha256HexDigestList(arr):
       return list(map(lambda x: sha256(x).hexdigest(), arr))
    
    Asha_digest = sha256HexDigestList(A)
    

    【讨论】:

    • 太棒了!太感谢了!你还能找到一种方法来打印完整的哈希列表吗?命令“print(Asha[1].hexdigest())”打印坐标1处的数字,但是有没有更系统的方法来打印所有的哈希?
    • @user27636 查看编辑,您可以随意使用摘要字符串列表,也可以使用' '.join(sha256HexDigestList(A))
    • 是的,效果很好,非常非常感谢!请注意,输入是必需的字符串数组(如果是 1 个字符串,则为 1 个元素的数组)。
    • 你好,经过一些研究,它看起来不像是一个适当的“矢量化”,因为计算哈希所花费的时间总体上等于一个一个计算的时间(涉及一个循环)。
    • @user27636 其中的问题是词向量化,而 Python 由于 GIL 是单线程的
    猜你喜欢
    • 1970-01-01
    • 2019-10-28
    • 1970-01-01
    • 2015-05-21
    • 1970-01-01
    • 2020-07-01
    • 1970-01-01
    • 2013-12-28
    相关资源
    最近更新 更多