我尝试对hash + Key求和以获得新的hash值。
密钥值:
a= "111631279578723877696242174"
SHA-256的哈希值:
b = "7de8c9d1ce09fd2554fc0468ae52d5144800d3ae3ae9b075a3ba4494e5e55f50"
我的想法是将它们转换为二进制值,然后将两者相加,但我得到了一个错误:
V1= list(map(bin, bytearray(a, "utf-8")))
V2=list(map(bin, bytearray(b, "utf-8")))
sum = bin(int(V1, 2) + int(V2, 2))
错误:
TypeError:int()无法转换具有显式基的非字符串
我怎样才能解决这个错误,或者是否有其他方法来组合键和散列?
1条答案
按热度按时间a6b3iqyw1#
原始答案
我想出了一个办法把它们结合起来。
编辑
如果你想把它们组合起来,并且在得到密钥的时候仍然得到哈希值,你可以简单地使用异或。这被用在许多对称加密算法中,因为你可以通过对加密值和密钥使用异或来得到原始值。简而言之,我们关心的异或值的基本属性是:
original_value = encrypted ^ key
如果您有密钥,那么您可以使用加密的密钥获得原始值。
具体实施
这是我刚刚写的想法的一个实现。
输出