设为首页收藏本站淘宝杂货铺

从F到0 - From F to 0

 找回密码
 注册已关闭
搜索
查看: 3367|回复: 1
收起左侧

[PHP/ASP/JSP] 64位PHP实现计算数据/字符串的CRC64值算法纯源码

[复制链接]
发表于 2019-5-26 00:03:53 | 显示全部楼层 |阅读模式

  1. <?php
  2. define('CRC64_TABLE',crc64_table());        //不支持32位PHP否则会出错

  3. function crc64_table(){                //初始化CRC64表格
  4.     $return = array();
  5.         for($n=0;$n<256;$n++){
  6.                 $crc = $n;
  7.                 for($k=0;$k < 8;$k++){
  8.                         $crc = ($crc >> 1) & PHP_INT_MAX ^ ($crc&1 ? -3932672073523589310 : 0);
  9.                 }
  10.         $return[$n] = $crc;
  11.     }
  12.     return $return;
  13. }


  14. function crc64($data){                //计算CRC64
  15.         $crc = -1;
  16.         $j = ~(0xff << 56);
  17.         $len = strlen($data);
  18.         for($i = 0; $i < $len; $i++){
  19.                 $crc = CRC64_TABLE[($crc ^ ord($data[$i])) & 0xff] ^ (($crc >> 8) & $j);
  20.     }
  21.     return ~$crc;
  22. }


  23. printf("%X", crc64("Hello World! 中文测试"));                //CRC64: B9DA28CA2175C70C


  24. ?>
复制代码

相关帖子

您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

QQ|手机版|Archiver|从F到0 ( 蒙ICP备17002595号-1 )
蒙公网安备15010402000325号

腾讯云安全认证

GMT+8, 2024-4-26 05:19 , Processed in 1.316075 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表