将 hexdigest() 的结果与字符串进行比较

2023-11-24

我有一个生成的 MD5 哈希值,我想将其与字符串中的另一个 MD5 哈希值进行比较。下面的陈述是错误的,尽管它们在打印时看起来是一样的并且应该是正确的。

hashlib.md5("foo").hexdigest() == "acbd18db4cc2f85cedef654fccc4a4d8"

谷歌告诉我,我应该对结果进行编码hexdigest(),因为它不返回字符串。但是,下面的代码似乎也不起作用。

hashlib.md5("foo").hexdigest().encode("utf-8") == "foo".encode("utf-8")

Python 2.7,.hexdigest() 确实返回一个 str

>>> hashlib.md5("foo").hexdigest() == "acbd18db4cc2f85cedef654fccc4a4d8"
True
>>> type(hashlib.md5("foo").hexdigest())
<type 'str'>

Python 3.1

.md5() 不采用 unicode(“foo”就是),因此需要将其编码为字节流。

>>> hashlib.md5("foo").hexdigest()
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    hashlib.md5("foo").hexdigest()
TypeError: Unicode-objects must be encoded before hashing

>>> hashlib.md5("foo".encode("utf8")).hexdigest()
'acbd18db4cc2f85cedef654fccc4a4d8'

>>> hashlib.md5("foo".encode("utf8")).hexdigest() == 'acbd18db4cc2f85cedef654fccc4a4d8'
True
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 hexdigest() 的结果与字符串进行比较 的相关文章

随机推荐

  • 使用 html 打开大写的 android 和 ios 键盘

    我正在为移动设备创建一个网页 因为很少有输入字段要求用户始终以大写形式输入数据 我看了几个选项 比如 text transformCSS的属性它将用户输入更改为大写 但也更改了占位符 这看起来不太好 autocapitalize输入属性通过
  • Flutter 中日期选择器的大小

    我正在 flutter 中制作 ipad 我有一个日期选择器 但在风景中它显得相当大 Is there any way to resize the date picker dialog 是的 您可以通过 Container SizedBox
  • 我只是不明白 C++ 指针/引用系统

    我从来没有遇到过像Python 隐式 或PHP 显式 中的引用问题 在 PHP 中你写 p myvar 你有 p作为参考指向 myVar 所以我知道在 C 中你可以这样做 void setToSomething int var var 12
  • 集合不包含与谓词匹配的元素

    我正在使用 Room 库 当我尝试构建应用程序时收到以下错误消息 e kapt An exception occurred java util NoSuchElementException Collection contains no el
  • Selenium Python 绑定:如何在元素上执行 JavaScript?

    使用python selenium脚本触发selenium服务器运行JavaScript代码 效果很好 drv execute script
  • 这个 YesodAuth 实例有什么问题?

    我刚刚从当前的 yesod 脚手架迁移到最新的yesod 1 6 0 yesod auth 1 6 2 instance YesodAuth App where type AuthId App UserId authenticate cre
  • 将单个元素添加到 IEnumerable 集合的最佳方法是什么?

    我很惊讶地发现似乎没有一种方法可以将单个元素添加到 IEnumerable 集合中 如何将单个元素添加到 IEnumerable 集合中 您无法真正向 IEnumerable 添加元素 因为它应该是只读的 你最好的选择是 return ne
  • 从java中删除hdfs文件夹

    在边缘节点上运行的 java 应用程序中 我需要删除 hdfs 文件夹 如果存在 我需要在运行在文件夹中输出的 MapReduce 作业 使用 Spark 之前执行此操作 我发现我可以使用该方法 org apache hadoop fs F
  • PHP数组在使用前需要声明吗?

    在编写最近的应用程序时 我不小心在声明数组之前开始填充数组 error reporting E ALL array value Test string 我使用 E ALL 错误报告并且没有抛出错误 它是否正确 如果是这样 声明数组值而不声明
  • MasterPage 是否知道正在显示哪个页面?

    当我使用 MasterPages 在网站上导航时 应用程序是否知道我所在的页面 如果是这样 它是否将其存储在我可以访问的对象中 我问的原因是这样我可以替换它 masterpage div ul ul div
  • 在 IDisposable 类层次结构中正确处理 ObjectDisposeException [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 当正确实现 IDisposable 时 大多数实现 包括框架指南 建议包括private bool disposed 成员以安全地允许多次调用Dispose Dispose bo
  • 如何编写自定义的removePunctuation()函数以更好地处理Unicode字符?

    在 tm 文本挖掘 R 包的源代码中 在文件中变换R 有removePunctuation 函数 当前定义为 function x preserve intra word dashes FALSE if preserve intra wor
  • 在Excel VBA中创建文件夹和子文件夹

    我有一个公司下拉菜单 其中由另一张纸上的列表填充 三列 公司 职位编号和零件号 创建工作后 我需要一个该公司的文件夹和一个该零件号的子文件夹 如果你沿着这条路走下去 它会看起来像 C 图像 公司名称 零件号 如果公司名称或零件号存在 请勿创
  • 为什么我的 pandas 数据框变成“无”类型?

    我看不出我的问题出在哪里 这段代码对于一个非常简单的例子来说工作正常 但是当我开始处理我的真实数据时 我遇到了问题 我基本上是从各种 csv 文件中提取某些数据 并尝试最终将它们合并到一个数据框中 相关代码如下 wavenames W1 W
  • WebRTC 实时音频流/广播 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我正在尝试了解 WebRTC 我需要能够通过网络浏览器捕获和流式传输实时音频 我只是很难找到我可以理解或最新的代码示例 如果有人可以帮助我首先使用 HTML5 WebRTC 在同
  • enctype='multipart/form-data' 是什么意思?

    什么是enctype multipart form data HTML 表单中的意思是什么 我们什么时候应该使用它 当您发出 POST 请求时 您必须以某种方式对构成请求正文的数据进行编码 HTML 表单提供三种编码方式 applicati
  • 将字符串时间转换为 UNIX 时间戳

    我有一个像这样的字符串2013 05 29T21 19 48Z 我想将其转换为自 1970 年 1 月 1 日 UNIX 纪元 以来的秒数 这样我就可以仅使用 4 个字节 或者可能是 5 个字节 以避免 2038 年问题 来保存它 我怎样才
  • ASP.NET MVC 4 拦截所有传入请求

    有没有办法让我抓住all向我的 ASP NET MVC 4 应用程序传入请求并在继续将请求发送到指定的控制器 操作之前运行一些代码 我需要使用现有服务运行一些自定义身份验证代码 为了正确执行此操作 我需要能够拦截来自所有客户端的所有传入请求
  • Xamarin 形成树视图

    I m trying to implement a treeview with nested data in Xamarin forms Something that looks like this 点击每个项目将打开可能的子项目列表 我在
  • 将 hexdigest() 的结果与字符串进行比较

    我有一个生成的 MD5 哈希值 我想将其与字符串中的另一个 MD5 哈希值进行比较 下面的陈述是错误的 尽管它们在打印时看起来是一样的并且应该是正确的 hashlib md5 foo hexdigest acbd18db4cc2f85ced