【问题标题】:Hashing and Dehasing哈希和去哈希
【发布时间】:2019-04-04 00:00:30
【问题描述】:

所以,我正在尝试编写一种使用发送方和接收方都知道的哈希的加密方法。我对如何对消息进行去哈希感到困惑。

例如,发送者发送一条消息

M: 50 并对其进行散列

所以 50 % 30 = 20。

H = 30

所以经过哈希处理后,生成的消息将是 30。

接收者如何能够在知道哈希值的情况下对消息进行去哈希处理以接收原始消息?

没有代码或任何东西。只是我希望掌握的一个重要概念。

编辑:所以,我对加密和解密有一个大致的了解。为了理解。如何使用 RSA 获取原始消息?

例如,

发件人私钥:55,27 发件人公钥:55,3

接收方私钥:35,29 接收方公钥:35、5

这可能吗?

【问题讨论】:

  • 没有“去散列”之类的东西。
  • 这是有道理的。据我了解,我可以通过加密/解密来检索原始消息。
  • 如果你想用Java加密/解密,我有几个examples。如果您想知道 RSA 是如何工作的,则需要搜索并阅读更多内容(有很多文章)并在卡住时提出具体问题

标签: java encryption hash cryptography rsa


【解决方案1】:

您正在寻找的是加密和解密。散列是一种单向函数,它通常会丢失信息,从而无法重新创建原始消息。

有没有什么方法可以在通过加密散列后接收原始消息?

当您使用加密时,您会创建一些看起来随机的字节,并且可能看起来像一个长哈希值。不同之处在于数据可以解密回原始信息,而散列则被设计为尽可能困难。

如果是这样,我使用哪种加密/解密方法?

要做出的关键决定是您需要对称加密还是非对称加密。对称更快,但要求解密密钥与加密相同,即加密点和解密点都需要安全。如果您使用非对称加密,您可以允许一端解密或加密,但不能同时加密。即只有一端需要是安全的。

【讨论】:

  • 有什么方法可以通过加密哈希后接收到原始消息?如果是这样,我使用哪种加密/解密方法?
  • @Granzo 你对散列和加密有一个基本的误解。 “通过加密进行散列”和“去散列”都是无意义的短语。我建议你先做一些研究然后回来。
猜你喜欢
  • 2013-03-21
  • 2011-05-27
  • 2018-10-13
  • 2012-09-16
  • 2012-08-17
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
相关资源
最近更新 更多