Python 3.2 中 hexdigest 的 C# 等效项是什么?

2023-11-22

我目前正在开发一个将 Python 3.2 程序转换为 C# 的项目。

在 python 程序中,有一行代码返回一个双倍长度的字符串对象,仅包含十六进制数字。

Python 程序中的代码如下:

if sha1.hexdigest().upper() == hash_string:
    #do whatever

我一直在尝试从 python 中的 hashlib 中找到 C# 中的 hexdigest 的等效项,但未能成功。

在 C# 中,我已经在字节数组中获得了 SHA1 哈希,但是我尝试执行相当于 hexdigest 的所有方法都未能提供与 hash_string 的匹配 - 这就是 sha1 的 hexdigestshould match.

我不确定问题是我用来模拟 hexdigest 的方法还是我用来生成 sha1 哈希值的方法 - 所以如果有人有一个 hexdigest 方法,那就太棒了know这样做可以让我消除至少一个可能的问题原因。

我目前用来代替 hexdigest 的方法是:

string hexaHash = "";
foreach (byte b in sha1result)
{
    hexaHash += String.Format("{0:x2}", b);
}
string result = hexaHash;

EDIT: facepalm好吧,我刚刚弄清楚我的问题是什么。当在 python 中生成 sha1 哈希值时,它是从小写的十六进制字符串生成的。在我的 C# 中,它是一个大写的十六进制字符串。所以我猜想我使用的 hexdigest 等效项就可以了。很抱歉浪费了人们的时间。


var hmac = BitConverter.ToString(hashBytes).Replace("-", "").ToLower();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 3.2 中 hexdigest 的 C# 等效项是什么? 的相关文章

随机推荐

  • 将焦点设置在 元素上

    我正在使用 Angular 5 开发前端应用程序 我需要隐藏一个搜索框 但单击按钮后 应该显示搜索框并聚焦 我已经尝试了在 StackOverflow 上找到的一些带有指令的方法 但无法成功 这是示例代码 Component selecto
  • Bootstrap 轮播 - YouTube 视频播放时暂停

    我的 Bootstrap 轮播中有一些嵌入的 YouTube 视频 默认情况下 轮播会自动前进 但我想在视频播放时暂停 有没有什么技巧可以检测视频何时播放 如果可能的话 我希望不使用 YouTube API 来完成此操作 每个轮播都有任意数
  • 如何从字符串中删除所有字符

    如何使用 JavaScript 正则表达式从字符串中删除所有非字母字符 您可以使用replace method Hey The 123 sure is fun replace A Za z g gt gt gt HeyThesureisfu
  • 使用 django-axes 登录 Django

    我用 django 创建了一个网站 用户应该能够登录 登录视图如下所示 from django contrib auth import authenticate login from django contrib auth models i
  • 如何让JFrame透明?

    如何让JFrame透明 我想让我的 JFrame 透明 当我的 JFrame 位于背景之上时 用户应该看到背景 我找到了另一个解决方案 将框架的背景颜色设置为 Set the frame background color to a tran
  • scikit-learn 中带有 BaseEstimator 的 GradientBoostingClassifier?

    我尝试在 scikit learn 中使用 GradientBoostingClassifier 它使用默认参数可以正常工作 但是 当我尝试用不同的分类器替换 BaseEstimator 时 它不起作用并给出以下错误 return y np
  • Slick/Scala:什么是 Rep[Bind] 以及如何将其转换为值?

    我正在尝试找出 Slick Scala 函数关系模型 我已经开始在 Slick 3 0 0 中构建原型 但是当然 大多数文档要么已过时 要么不完整 我已经成功地达到了可以创建模式并从数据库返回对象的程度 问题是 我返回的是 Rep Bind
  • (如何)使用 LLVM 机器代码分析器预测代码片段的运行时间?

    我使用 llvm mca 来计算总周期一段代码 认为他们会预测它的运行时间 然而 动态测量运行时间几乎没有相关性 所以 为什么 llvm mca 计算的总周期不能准确预测运行时间 我可以使用 llvm mca 以更好的方式预测运行时间吗 D
  • 将 std::enable_if 与匿名类型参数一起使用

    我尝试使用std enable if使用未使用和未命名的类型参数 以免扭曲return类型 但是 以下代码无法编译 include
  • int8_t、int_least8_t 和 int_fast8_t 的区别?

    int类型有什么区别int8 t int least8 t and int fast8 t Carl Norum 引用的 C99 标准部分定义了差异 但举个例子可能会有用 假设您有一个用于 36 位系统的 C 编译器 其中char 9 位
  • Windows 窗体应用程序 - 视觉风格?

    我会尽量保持简单 在 Windows 窗体应用程序中创建的按钮如下所示 如果我手动创建表单 我创建的按钮将如下所示 我彻底查看了 Windows 窗体应用程序 发现没有任何代码可以更改按钮的视觉样式 对于为什么会发生这种情况有任何简单的解释
  • jupyterlab交互图

    使用旧的 Jupyter 笔记本 我可以通过以下方式创建交互式绘图 import matplotlib pyplot as plt matplotlib notebook x 1 2 3 y 4 5 6 plt figure plt plo
  • 具有透明背景的html画布运动模糊

    我刚刚使用廉价的运动模糊创建了一个精美的画布效果 ctx fillStyle rgba 255 255 255 0 2 ctx fillRect 0 0 canvas width canvas height 现在我想做同样的事情 但背景透明
  • 视野如何改变立体视觉中的深度估计?

    我正在尝试估计带有两个摄像头的立体系统的深度 我使用的简单方程是 Baseline Focal Depth Disparity 两个摄像头的视野不会改变允许的最大深度 它只改变可测量的最小深度 在顶端 可测量的深度受到您使用的相机分辨率的限
  • Java - 如何将由空格分隔的整数读入数组

    我的项目遇到了麻烦 因为我无法正确开始 即从用户处读取一行由空格分隔的整数 并将这些值放入数组中 System out println Enter the elements separated by spaces String input
  • Nginx:设置默认文件扩展名

    我应该对 nginx 使用什么规则 以便我的默认文件扩展名是 php 我目前使用 www mywebsite com 访问页面home php但我只想使用 www mywebsite com home Thanks 假设您还想提供静态文件
  • 如何根据其内容自动调整/缩放 DBGrid(或其他类似)的列宽度?

    我正在尝试制作一个框架DBGrid它将服务于 10 个以上的表 其中一半字段为默认值 其他字段为每个表独有 由于列的空间有限 并且我不想手动配置每个表的每一列 因为这是质量非常差的工作 我想知道一种通过其中行的最大内容来计算每列的宽度的方法
  • Homebrew GDB 无法在 Yosemite 10.10 上打开核心文件

    我通过 Homebrew 安装了 GDB 7 8 1 和 GCC 4 9 当我打开由 GCC 编译生成的核心文件时 gcc 4 9 g xxx c o xxx 程序 它报告 gdb list test cores core 1176 GNU
  • readr - 在 CSV 中导入日期列

    我需要有关如何使用导入数据的建议readr通过输入我自己的日期格式 我正在尝试的方法是 read csv test col types cols column name col date 02 03 2015 d m Y 但它给了我错误 c
  • Python 3.2 中 hexdigest 的 C# 等效项是什么?

    我目前正在开发一个将 Python 3 2 程序转换为 C 的项目 在 python 程序中 有一行代码返回一个双倍长度的字符串对象 仅包含十六进制数字 Python 程序中的代码如下 if sha1 hexdigest upper has