php中crc函数的用途是什么?

时间:2010-09-15 14:14:12

标签: php

我有一个变量

   $offset = abs(crc32($_SERVER["SERVER_NAME"]) % 500);

我不明白它在脚本中的位置。它似乎只是根据服务器名称生成一个随机数(例如www.example.com)。这是对这个变量的正确解释吗?

由于

2 个答案:

答案 0 :(得分:2)

是的,它会在0到499之间设置一个数字,只有在服务器名称不同时才会有所不同。

  • Crc32从字符串中获取数字校验和。
  • %500使其介于-499和499之间。
  • abs使负数正。

答案 1 :(得分:2)

crc32创建名称的Cyclic redundancy check,然后通过500进一步修改将其减少为0到499之间的数字。第一部分基本上是服务器名称的签名 - 它不是一个随机数字(在它的原始形式CRC可用于重建被破坏的数据),它在这里被更像哈希使用。第二部分是减少该哈希的大小/规模,以便访问的每个服务器获得一个0到499之间的数字。希望两个服务器的数量相同,尽管没有真正的保证。