Encoding 是否有一种技术可以识别正在使用的哈希算法/编码?

Encoding 是否有一种技术可以识别正在使用的哈希算法/编码?,encoding,hash,cryptography,Encoding,Hash,Cryptography,例如,以此哈希或编码字符串为例: [ 散列函数产生给定大小的结果,因此256位散列输出必须是由至少产生256位的散列生成的。这不起作用,因为较长的输出可能在使用前被截断——256位可能来自512位散列输出。除此之外,基本上是一个反复试验的问题。 密码被设计为产生随机出现的输出。因此,好密码的输出看起来是随机的,你不应该知道哪个密码被用来产生这个特定的随机出现的输出 IVs、nonce等的存在以及cyphertext长度可能会告诉您使用了什么模式,以及块cypher的块大小 这不是编码的。如果你想

例如,以此哈希或编码字符串为例:

[
  • 散列函数产生给定大小的结果,因此256位散列输出必须是由至少产生256位的散列生成的。这不起作用,因为较长的输出可能在使用前被截断——256位可能来自512位散列输出。除此之外,基本上是一个反复试验的问题。

  • 密码被设计为产生随机出现的输出。因此,好密码的输出看起来是随机的,你不应该知道哪个密码被用来产生这个特定的随机出现的输出

  • IVs、nonce等的存在以及cyphertext长度可能会告诉您使用了什么模式,以及块cypher的块大小


  • 这不是编码的。如果你想分析一个特定的散列,那么你需要完整地显示它。由于散列输出是二进制的,你需要使用像base64或hex这样的编码。只需将输出复制为文本,你就会丢失字节。但是StackOverflow或StackExchange上的任何其他站点都不是提出此类问题的地方。如何灰烬可以在没有具体例子的情况下被识别另一方面,这是一个非常深刻的问题,但不适合这样做。这是一个更适合这种类型的问题,但我认为它太宽泛了,而且很快就会被驳回。感谢你的快速回复如果你已经有一些候选人,那么效果最好,但是你可以检查自己。如果你有一些像RIPEMD-160和SHA1的160位输出,你可能会问这样的问题:如何根据散列来区分两者?答案几乎肯定是你不能。@ArtjomB。分析一段代码显然与加密无关。。。(他们可能只是告诉OP,一个好的加密散列函数将返回与随机函数无法区分的结果,并且您只能使用输入暴力或在rainbow表中查找值)。。。