php 自定义crc校验算法,php crc32校验函数用法详解

语法:

int crc32 ( string str )

必要参数。选择需要计算的字符串

说明:

生成 str 的 32 位循环冗余校验码多项式。这通常用于检查传输的数据是否完整,用来验证一个整数的有效性的。

由于 PHP 的整数是带符号的,许多 crc32 校验码将返回负整数,因此你需要使用 sprintf() 或 printf() 的“%u”格式符来获取表示无符号 crc32 校验码的字符串。

实例一:

在下面这个案例中,我们将使用/不使用“%u”格式来输出crc32()的结果(注意:返回的结果是相同的):

$str = crc32("php教程!");

echo 'Without %u: '.$str."
";

echo 'With %u: ';printf("%u",$str);

/*

结果:

Without %u: -1057731797
With %u: 3237235499

*/

?>

实例二:

function crc32Key($key,$n){

//使用crc32做校验

//$key为传入的变量

if($n>1){

return (crc32($key)&0x7fffffff)%$n;//返回0-$n任意数字

}else{

return 1;

}

}

echo crc32Key(md5(444),5);//输出2

echo crc32Key(md5('php'),5);//输出4

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值