php计算字符串的32位crc(循环冗余校验)

来源:藏色散人 发布时间:2019-03-13 10:38:07 阅读量:963

crc32()函数的作用是,计算一个字符串的 32 位循环冗余校验码多项式。该函数使用CRC32算法。此函数可用于验证数据完整性。

但是,为了确保从crc32()函数获得正确的字符串表示,我们需要使用printf()或sprintf()函数的%u格式化程序。如果不使用%u格式化程序,结果可能显示不正确的负数。

crc32()函数语法:

1

crc32($string)

参数:

$ string:此参数指定我们要为其查找crc32多项式的字符串。

返回值:crc32()函数将给定字符串的crc32校验和作为整数返回。

示例1:计算字符串“Hello World”的32位CRC,包括有%u和没有%u的情况。

1

2

3

4

5

6

7

<?php

$str1 = crc32("Hello world.");

echo '没有%u: '.$str1."\n";

echo '使用%u: ';

   

printf("%u\n", $str1);

?>

输出:

1

2

没有%u: -1959132156

使用%u: 2335835140

示例2:计算字符串“PHPandJava.”的32位CRC,包括有%u和没有%u的情况。

1

2

3

4

5

6

7

8

<?php

$str2 = crc32("PHPandJava.");

 

echo '没有%u: '.$str2."\n";

echo '使用%u: ';

 

printf("%u\n", $str2);

?>

输出:

1

2

没有%u: -650239106

使用%u: 3644728190

示例3:计算字符串“Computer Science.”的32位CRC,包括有%u和没有%u的情况。

1

2

3

4

5

6

7

8

<?php

$str3 = crc32("Computer Science.");

   

echo '没有%u: '.$str3."\n";

echo '使用%u: ';

   

printf("%u\n", $str3);

?>

输出:

1

2

没有%u: -1082893780

使用%u: 3212073516


标签: PHP 环境搭建
分享:
评论:
你还没有登录,请先