PERL: MD5 İşlemleri (Bölüm-1)

Yapmak istediğim şey arşiv dosyalarımın md5 karşılıklarının ilk 6 hanesini zip dosyasının sonuna eklemek! Ne işe yarayacak diye sorabilirsiniz:

1) Dosyalarımı tekil hale getirir (versiyon)

2) Dosyalarımın sunucu üzerindeki güvenliğini sağlar (dışarıdan deneme yanıma ile indirilmesinin önüne geçer, gereksiz trafiği azaltır)

3) Dosya güvenliğini sağlar (İndirilen dosya doğru mu vs?, yapılması gereken indirdiğiniz dosyanın md5 ini almak ve ilk 6 hanelerini karşılaştırmak)

linux bir dosyanın md5 lenmiş karşılığını bulmak için terminale

md5sum dosyaadiniz.uzanti

Perl de bir dosyanın md5 lenmiş karşılıklarını bulmak için hazır bir kütüphane kullanacağız. Ama bunun için ilgili modülü kurmamız gerekiyor.

Terminalde

sudo perl -MCPAN -e shell

install Digest::MD5::File

#!/usr/bin/perl -w
use Digest::MD5::File qw( file_md5_hex );
if($#ARGV ne 0){ die("Dosya adi giriniz!\n");}

my $md5 = file_md5_hex( $ARGV[0] );
my $vals=substr(uc($md5),0,6);

my $file=$ARGV[0];
my $file1=$file;
$file1=~s/\./_$vals\./;

system("mv $file $file1");
print $file."-->".$file1."\n";

kullanım

perl md5.pl test.zip

Summary
Author Rating
1star1star1star1star1star
no rating based on 0 votes
Software Name
md5.pl
Operating System
Ubuntu 14.04
Share