检查文件的crc32

检查文件的crc32

问题描述:

这不是一个真正的“如何”问题。检查文件的crc32

应用程序是否使用“标准”文件结构来存储文件夹中文件的校验和?我正在开发一个工具来检查crc32,md5,sha1,sha256等各种各样的东西......我想让我的程序在我正在检查的文件夹中的文件中存储各种哈希值。

我知道有一个常用的文件叫'md5sums'或'sha1sums'。但是CRC呢?我没有注意到任何附近。如果有,它的结构是什么?

谢谢。

以下是我正在寻找的。这是由程序生成QuickSFV:

; Generated by QuickSFV v2.36 on 2012-08-09 at 16:34:25 
; http://www.QuickSFV.org 
; 
; 1684525442 21:45.33 2012-08-05 Video.mkv 
Video.mkv 9AC44069 

我一直在寻找,这似乎与旨在实现相同目的的其他程序使用标准的格式。

MD5散列使用另一个文件来存储文件的散列值。您可以使用类似的方法来存储为您的文件计算的不同CRC。

+0

当然,我可以使用类似的...但如果可能的话,我想尝试与其他软件兼容。 – agent154

我可能会考虑以比特种文件作为开始。 我觉得它使用类似的风格

一个JSON如果你有一个洪流程序,你可以生成一个文件夹中的.torrent文件和内容,并检查了

我觉得这部分使用的级联SHA1哈希的文件,但你可以在它的位置连接多个哈希,然后进行长度编码。

*有下面的例子:http://en.wikipedia.org/wiki/Torrent_file

{ 
    'announce': 'http://tracker.site1.com/announce', 
    'info': 
    { 
     'name': 'directoryName', 
     'piece length': 262144, 
     'files': 
     [ 
      {'path': ['111.txt'], 'length': 111}, 
      {'path': ['222.txt'], 'length': 222} 
     ], 
     'pieces': '6a8af7eda90ba9f851831073c48ea6b7b7e9feeb...8a43d9d965a47f75488d3fb47d2c586337a20b9f' 
    } 
} 

我可能会修改它是这样的:

{ 
    'datelastupdated': '[date hash program ran]', 
    'info': 
    { 
     'name': 'thedirectoryName', 
     'Totalfiles': 2, 
     'Totaldirs': 2, 
     'files': 
     [ 
      {'name': '111.txt', 'size': 111, 'md5':"df038ad...", 'sha1':'3323...}, 
      {'name': '222.txt', 'size': 222 ........ etc.} 
     ], 
     'dirs': 
     [ 
      {'name': 'directoryname'}, 
      {'name': 'othername'} 
     ] 

    } 
} 

然后,您可以使用包做json_encoding或解码(从CLI PHP将为此工作)或任何你想创建/更新它们..

这个结构将允许您在做一个json_d后方便地访问它ECODE类似:

$decodedjson->info->files[x]->name 

我总是有点糊涂了瓦特/该语法,所以它可能是这样的 $decodedjson->info['files'][x]->name,但希望你的想法,它会很容易在整个结构中循环,更新比较并保存。 干杯!