文章关键字 ‘CRC32’

用VBS实现PHP的crc32函数

2011年03月24日,星期四

循环冗余校验(CRC)是一种根据网络数据封包或电脑档案等数据产生简短固定位数校验码的一种散列函數,主要用来检测或校验数据传输或者保存后可能出现的错误。生成的数字在传输或者储存之前计算出来并且附加到数据后面,然后接收方进行检验确定数据是否发生变化。一般来说,循环冗余校验的值都是32位的整数。由于本函数易于用二进制的电脑硬件使用、容易进行数学分析并且尤其善于检测传输通道干扰引起的错误,因此获得广泛应用。

昨天进行CRC校验的时候Google了一下CRC的介绍及原理,上面简单摘录了一段,更详细的介绍请访问维基百科。然后老毛病又犯了,怎样用VBS来实现CRC校验?

(更多…)

CRC批量校验工具——RapidCRC

2011年03月23日,星期三

昨天解析出115网盘的真实下载地址,下载了几集宠物小精灵石英联盟,发现每个文件名最后都有一个中括号,里面只包含0123456789ABCDEF:

Pocket_Monsters_-_001_-_IL001_-_Pokemon!_Kimi_ni_Kimeta![5F5C9DCD].avi

根据常识,这是以十六进制表示的数字,而且是32位的,再根据常识,这应该是文件的CRC32值。为了证实猜想,写了个PHP验证一下:

<?php
echo hash_file("crc32b","Pocket_Monsters_-_001_-_IL001_-_Pokemon!_Kimi_ni_Kimeta![5F5C9DCD].avi");
?>

输出5f5c9dcd,和中括号里的值相吻合,果然是CRC32!虽然也可以写个PHP脚本批量校验,但是在近30G的文件面前,PHP表示压力很大。于是问了一下朋友有没有好点的CRC批量校验软件,Tales MM推荐了RapidCRC。Google了一下,又是一个很小很强大的软件。

(更多…)