当前位置: 首页 > 知识库问答 >
问题:

如何获得RSA数字签名的原始散列输入?

拓拔麒
2023-03-14

给我一个网络数据包,它的最后64个字节(128个十六进制字符)是该数据包的SHA-256散列的RSA-512数字签名。我使用这个数据包的截断版本(除了最后的64个字节之外的所有内容),并自己计算哈希值,这是正常工作的,但是我需要一种方法来返回最初生成签名的哈希值

我尝试在Python中这样做,但遇到了一些问题,因为我没有RSA私钥,只有公钥和数字签名。我需要的是一种方法来获取公钥和签名,并从中获取SHA-256散列,以便将其与我生成的散列进行比较。有办法做到这一点吗?任何加密库都可以。我正在使用hashlib生成哈希

共有1个答案

戚飞
2023-03-14

原始哈希是用私钥签名的。要获得原始哈希,您需要使用公钥解密签名,而不是使用私钥解密签名。

 类似资料:
  • 如何获取字段的“真实”值? 我有一个框,我使用的是较新的HTML5输入类型: 这在Chrome29中得到了支持: (至少在Chrome 29中) 如何获取控件的“原始”值? 我试着浏览了Chrome的输入框的其他属性列表: null

  • 问题内容: 我有一个员工表,如下所示: 我需要获取id等于4的问题的最小值和最大值。在这种情况下,我需要返回5和25。我使用以下查询实现了这一点: 但是,这不会返回的是问题ID。如何调整查询以显示q2是最小值,q4是最大值?我知道我可以写一个大写的语句,但是我也觉得可以使用联接来完成,但是我不知道。 注意:这是针对postgresql数据库的,但是我也标记了MySQL,因为我知道它也支持和函数。如

  • 我的手被https、ssl、PKI之类的东西弄得脏兮兮的。对于自签名证书,有一点我不太理解。假设我想创建一个自签名证书,并在我们想要建立安全连接时将其发送给我的朋友。 所以步骤是: 创建一个私钥。 创建一个公钥。 用我的公钥在证书上签名。 因此,当我的朋友得到我的证书时,他必须验证他得到的证书是我的,他需要解密数字签名。但为了解密和验证他必须拥有我的私钥。所以,我有点困惑。

  • 问题内容: 使用Java 7语法https://github.com/antlr/grammars-v4/blob/master/java7/Java7.g4,我想查找具有特定名称的方法,然后仅打印该方法。我看到我可以在匹配时使用该规则。因此,我继承并覆盖了此侦听器方法: 如何获得原始文本? 给我一个字符串,其中所有空格都被删除。我想要注释和原始格式。 问题答案: ANTLR的类有一个方法,该方法

  • 我正在JWT(JSON Web令牌)方案的帮助下实现一个登录系统。基本上,在用户登录/登录之后,服务器签署一个JWT并将其传递给客户机。 然后,客户机返回每个请求的令牌,服务器在发送回响应之前验证令牌。 这是你所期望的,但是我在这个过程的逻辑上遇到了一些问题。从我读过的所有数学文章来看,RSA签名似乎使用非对称密钥进行签名。由于公钥(顾名思义)是向客户机公开的,而私钥保留在服务器上,因此使用发送给