MD*或SHA-*中的任何"带外"哈希值?

Mar*_*son 5 hash performance md5 sha

任何常见的哈希算法是否定义了"带外"哈希码,即保证永远不会是算法结果的哈希码?

Mar*_*son 1

MD* 或 SHA-* 系列算法都没有带外哈希值。

如果您想自己实现,可以使用以下逻辑:

  • 选择一个随机哈希值作为带外值。
  • 计算哈希值。
  • 如果哈希值(不太可能)结果是带外哈希值,则分配另一个哈希值。

在伪代码中:

OutOfBandHash = 0xdeadbeefdeadbeefdeadbeefdeadbeef
h = hash(stuff)
if h = OutOfBandHash
    h = OutOfBandHash + 1
Run Code Online (Sandbox Code Playgroud)