首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >比较在python中作为输入传递的2个sha512哈希

比较在python中作为输入传递的2个sha512哈希
EN

Stack Overflow用户
提问于 2016-02-03 05:22:40
回答 6查看 4.5K关注 0票数 2

我有两个哈希,我需要比较。1来自一个API,另一个是我在内部计算的

我知道两个sha512可以比较使用

代码语言:javascript
运行
复制
input1.digest() == input2.digest()

这里的两个输入都是sha512 hash.My问题,因为我从API中获得了其中的一个,所以输入是string格式的,字符串没有digest

* AttributeError:'str‘对象没有属性’摘要‘

我以为这会成功的:

代码语言:javascript
运行
复制
if(calculated_hash != input_hash):
    return False
return True

如何为其中一个测试用例在内部生成哈希:

代码语言:javascript
运行
复制
hash_val = sha512(parameters.encode('utf-8') + salt.encode('utf-8')).hexdigest()

但由于哈希每次都是新的,这是行不通的。

在给定的情况下,如何比较这两个散列呢?

编辑:

由于输入中有一个动态时间戳,因此从params recived.But,生成的散列接收vc散列有差异,所以在比较hexdigest!:\时,我仍然得到的值为False!

EN

Stack Overflow用户

发布于 2016-02-03 05:29:50

我认为这是可行的:

代码语言:javascript
运行
复制
input1 == input2.digest()

因为,摘要会产生字符串。从api中获取input1,这是字符串。

演示:

代码语言:javascript
运行
复制
>>> import hashlib
>>> hash =hashlib.sha512("hello")
>>> type(hash)
<type '_hashlib.HASH'>
>>> type(hash.digest())
<type 'str'>
>>> print hash.digest()
?q?$?b?x]??j??=s1??
                    ?????%g<?##?ٛ??|z?n???
                                         FcG\.\:??os???C
>>> hash.hexdigest()
'9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043'

可能需要使用十六进制()。

票数 -1
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35169093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档