【问题标题】:crc32() vs hash() function differencescrc32() 与 hash() 函数的区别
【发布时间】:2015-11-20 08:50:39
【问题描述】:

我想我不明白这两个函数之间的区别 我试图通过运行以下代码(PHP 5.6)来找到它们之间的任何关系

$crc_codding = crc32("codding");
$crc_gnu = crc32("gnu");

$hash_codding = hash("crc32", "codding");
$hash_gnu = hash("crc32", "gnu"); // hash collision with $crc_codding example

var_dump(hash_equals($hash_codding, $hash_gnu));  // bool(false)

var_dump($crc_codding==$hash_codding);            // bool(false)
var_dump($crc_codding==$crc_gnu);                 // bool(true)
var_dump($crc_codding===$crc_gnu);                // bool(true)

但这对我没有帮助,hash() 函数是否有一些内置的加盐机制?

我不确定我是否可以告诉更多的东西......

【问题讨论】:

    标签: php hash comparison collision equality


    【解决方案1】:

    对应于 crc32() 函数的 hash() 算法实际上是 'crc32b' 而不是 'crc32'。阅读crc32函数的PHP手册中警告的结尾。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-06
      • 2012-01-11
      • 1970-01-01
      • 1970-01-01
      • 2017-03-17
      • 1970-01-01
      • 1970-01-01
      • 2012-05-04
      相关资源
      最近更新 更多