Server IP : 172.16.15.8 / Your IP : 3.140.196.5 Web Server : Apache System : Linux zeus.vwu.edu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Wed Nov 6 14:29:02 UTC 2024 x86_64 User : apache ( 48) PHP Version : 7.2.24 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0555) : /bin/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
#!/usr/bin/perl # Computes and prints to stdout the CRC-32 values of the given files use 5.006; use strict; use lib qw( blib/lib lib ); use Archive::Zip; use FileHandle; use vars qw( $VERSION ); BEGIN { $VERSION = '1.51'; } my $totalFiles = scalar(@ARGV); foreach my $file (@ARGV) { if ( -d $file ) { warn "$0: ${file}: Is a directory\n"; next; } my $fh = FileHandle->new(); if ( !$fh->open( $file, 'r' ) ) { warn "$0: $!\n"; next; } binmode($fh); my $buffer; my $bytesRead; my $crc = 0; while ( $bytesRead = $fh->read( $buffer, 32768 ) ) { $crc = Archive::Zip::computeCRC32( $buffer, $crc ); } my $fileCrc = sprintf("%08x", $crc); printf("$fileCrc"); print("\t$file") if ( $totalFiles > 1 ); if ( $file =~ /[^[:xdigit:]]([[:xdigit:]]{8})[^[:xdigit:]]/ ) { my $filenameCrc = $1; if ( lc($filenameCrc) eq lc($fileCrc) ) { print("\tOK") } else { print("\tBAD $fileCrc != $filenameCrc"); } } print("\n"); }