您的位置:

php函数crc32介绍,php crc32

本文目录一览:

php 中 crc32 “生成 string 参数的 32 位循环冗余校验码多项式。这通常用于检查传输的数据是否完整。”

“生成 string 参数的 32 位循环冗余校验码多项式……”,

这句话从英文翻译过来的,不正确,准确的说应该是这么理解:

以32位循环冗余校验多项式算法,来计算一个字符串,返回一个(可能带符号的)整数。

32位循环冗余校验多项式:

这个是一个数学算法,在php的源码内可以看到。你可以当作他是一个md5算法的数字版。

使用方法:

这个函数的功能类似于md5算法、sha1算法加密。这个函数的使用过程中,需要多考虑取返回的整数的绝对值就可以了。

至于如何能做到检查传输的数据是否完整,参考md5的常见使用场景。

PHP符串处理函数

PHP5字符串处理函数

addcslashes — 为字符串里面的部分字符添加反斜线转义字符

addslashes — 用指定的方式对字符串里面的字符进行转义

bin2hex — 将二进制数据转换成十六进制表示

chop — rtrim() 的别名函数

chr — 返回一个字符的ASCII码

chunk_split — 按一定的字符长度将字符串分割成小块

convert_cyr_string — 将斯拉夫语字符转换为别的字符

convert_uudecode — 解密一个字符串

convert_uuencode — 加密一个字符串

count_chars — 返回一个字符串里面的字符使用信息

crc32 — 计算一个字符串的crc32多项式

crypt — 单向散列加密函数

echo — 用以显示一些内容

explode — 将一个字符串用分割符转变为一数组形式

fprintf — 按照要求对数据进行返回,并直接写入文档流

get_html_translation_table — 返回可以转换的HTML实体

hebrev — 将Hebrew编码的字符串转换为可视的文本

hebrevc — 将Hebrew编码的字符串转换为可视的文本

html_entity_decode — htmlentities ()函数的反函数,将HTML实体转换为字符

htmlentities — 将字符串中一些字符转换为HTML实体

htmlspecialchars_decode — htmlspecialchars()函数的反函数,将HTML实体转换为字符

htmlspecialchars — 将字符串中一些字符转换为HTML实体

implode — 将数组用特定的分割符转变为字符串

join — 将数组转变为字符串,implode()函数的别名

levenshtein — 计算两个词的差别大小

localeconv — 获取数字相关的格式定义

ltrim — 去除字符串左侧的空白或者指定的字符

md5_file — 将一个文件进行MD5算法加密

md5 — 将一个字符串进行MD5算法加密

metaphone — 判断一个字符串的发音规则

money_format — 按照参数对数字进行格式化的输出

nl_langinfo — 查询语言和本地信息

nl2br — 将字符串中的换行符“n”替换成“

number_format — 按照参数对数字进行格式化的输出

ord — 将一个ASCII码转换为一个字符

parse_str — 把一定格式的字符串转变为变量和值

print — 用以输出一个单独的值

printf — 按照要求对数据进行显示

quoted_printable_decode — 将一个字符串加密为一个8位的二进制字符串

quotemeta — 对若干个特定字符进行转义

rtrim — 去除字符串右侧的空白或者指定的字符

setlocale — 设置关于数字,日期等等的本地格式

sha1_file — 将一个文件进行SHA1算法加密

sha1 — 将一个字符串进行SHA1算法加密

similar_text — 比较两个字符串,返回系统认为的相似字符个数

soundex — 判断一个字符串的发音规则

sprintf — 按照要求对数据进行返回,但是不输出

sscanf — 可以对字符串进行格式化

str_ireplace — 像str_replace()函数一样匹配和替换字符串,但是不区分大小写

str_pad — 对字符串进行两侧的补白

str_repeat — 对字符串进行重复组合

str_replace — 匹配和替换字符串

str_rot13 — 将字符串进行ROT13加密处理

str_shuffle — 对一个字符串里面的字符进行随机排序

str_split — 将一个字符串按照字符间距分割为一个数组

str_word_count — 获取字符串里面的英文单词信息

strcasecmp — 对字符串进行大小比较,不区分大小写

strchr — 通过比较返回一个字符串的部分strstr()函数的别名

strcmp — 对字符串进行大小比较

strcoll – 根据本地设置对字符串进行大小比较

strcspn — 返回字符连续非匹配长度的值

strip_tags — 去除一个字符串里面的HTML和PHP代码

stripcslashes — 反转义addcslashes()函数转义处理过的字符串

stripos — 查找并返回首个匹配项的位置,匹配不区分大小写

stripslashes — 反转义addslashes()函数转义处理过的字符串

stristr — 通过比较返回一个字符串的部分,比较时不区分大小写

strlen — 获取一个字符串的编码长度

strnatcasecmp — 使用自然排序法对字符串进行大小比较,不区分大小写

strnatcmp — 使用自然排序法对字符串进行大小比较

strncasecmp — 对字符串的前N个字符进行大小比较,不区分大小写

strncmp — 对字符串的前N个字符进行大小比较

strpbrk — 通过比较返回一个字符串的部分

strpos — 查找并返回首个匹配项的位置

strrchr — 通过从后往前比较返回一个字符串的.部分

strrev — 将字符串里面的所有字母反向排列

strripos — 从后往前查找并返回首个匹配项的位置,匹配不区分大小写

strrpos – 从后往前查找并返回首个匹配项的位置

strspn — 匹配并返回字符连续出现长度的值

strstr — 通过比较返回一个字符串的部分

strtok — 用指定的若干个字符来分割字符串

strtolower — 将字符串转变为小写

strtoupper –将字符串转变为大写

strtr — 对字符串比较替换

substr_compare — 对字符串进行截取后的比较

substr_count — 计算字符串中某字符段的出现次数

substr_replace — 对字符串中的部分字符进行替换

substr — 对字符串进行截取

trim — 去除字符串两边的空白或者指定的字符

ucfirst — 将所给字符串的第一个字母转换为大写

ucwords — 将所给字符串的每一个英文单词的第一个字母变成大写

vfprintf — 按照要求对数据进行返回,并直接写入文档流

vprintf — 按照要求对数据进行显示

vsprintf — 按照要求对数据进行返回,但是不输出

wordwrap — 按照一定的字符长度分割字符串

strtolower()函数把所有字符变成小写,strtoupper()函数把所有字符变成大写,ucfirst()函数将所给字符串的第一个字母转换为大写,ucwords()函数将所给字符串的每一个英文单词的第一个字母变成大写。ucfirst()只处理字符串的首个字符,ucwords()只处理每个单词的首字母(以空格来界定是否是单词,“today!Hi”、“today.Hi” 会被认为是一个单词),对于其余字母的大小写状态并不改变。 ;

php crc32 uid 怎么关联

crc32() 函数计算字符串的 32 位 CRC(循环冗余校验)。

该函数可用于验证数据完整性。

提示:为了确保从 crc32() 函数中获得正确的字符串表示,您需要使用 printf() 或 sprintf() 函数的 %u 格式符。如果未使用 %u 格式符,结果可能会显示为不正确的数字或者负数。

crc32 — 计算一个字符串的 crc32 多项式?

您好,对于你的遇到的问题,我很高兴能为你提供帮助,我之前也遇到过哟,以下是我的个人看法,希望能帮助到你,若有错误,还望见谅!。展开全部

CRC的本质是模-2除法的余数,采用的除数不同,CRC的类型也就不一样。通常,CRC的除数用生成多项式来表示。 最常用的CRC码及生成多项式名称生成多项式。

CRC-12:

CRC-16:

CRC-CCITT:

CRC-32:

CRC校验实用程序库 在数据存储和数据通讯领域,为了保证数据的正确,就不得不采用检错的手段。在诸多检错手段中,CRC是最著名的一种。CRC的全称是循环冗余校验。非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!

php的crc32函数使用时需要注意的问题

这篇文章主要介绍了php的crc32函数使用时需要注意的问题(不然就是坑)

,需要的朋友可以参考下

前几天写了一个分表程序,用的hash算法是crc32.分表的函数如下:

复制代码

代码如下:

function

_getHash($username)

{

$hash

=

crc32($username)

%

512;

return

$hash;

}

function

_getTable($username)

{

$hash

=

self::_getHash($username);

return

'user_'

.

$hash;

}

首先在本地32位window机上生成好数据并插入对应的表中。但是再把程序和数据传到服务器上(64为linux),发现查不到数据。经过排查后发现,原来服务器上crc32的结果和本地不同。再查php手册才知,crc32的接口原来和机器有关。

php手册的描述:

复制代码

代码如下:

Because

PHP's

integer

type

is

signed

many

crc32

checksums

will

result

in

negative

integers

on

32bit

platforms.

On

64bit

installations

all

crc32()

results

will

be

positive

integers

though.

crc32返回的结果在32位机上会产生溢出,所以结果可能为负数。而在64位机上不会溢出,所以总是正值。

CRC算法是按字长位数bit进行计算的。

crc32函数会按照php中的两个常量参考计算

PHP_INT_SIZE,PHP_INT_MAX

这两个常量的定义:

整型数的字长和平台有关,尽管通常最大值是大约二十亿(32

位有符号)。PHP

不支持无符号整数。Integer值的字长可以用常量PHP_INT_SIZE来表示,自

PHP

4.4.0

PHP

5.0.5后,最大值可以用常量PHP_INT_MAX来表示。

输出下32位中PHP_INT_SIZE:4,PHP_INT_MAX:2147483647

输出下64位中PHP_INT_SIZE:8,PHP_INT_MAX:9223372036854775807