Schrift
[thread]8577[/thread]

MD5 berechnen: Md5 von zwei Daten vergleichen



<< |< 1 2 >| >> 15 Einträge, 2 Seiten
nour
 2006-12-13 16:06
#72513 #72513
User since
2006-11-15
108 Artikel
BenutzerIn
[default_avatar]
HAllo leute,

Nun ja mann kommt heute von der Thema Daten vergleich irgendwie nicht raus!

In mein Skript habe ich eien Procedur gebstelt die mir Die MD5 Rechnet .

Nun ich will jetzt folgendes Testen ob:
Md5==newMD5(neue in der Tabelle eingetragen !).falls sie Gleich sind falls nicht dann (weiter)
der MD5 Rechnung ist wie folgend:


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
sub get_MD5
{
my $md5=Digest::MD5->new;
my $id;
my $filename;

# MD5 berechnen
$filename=shift;

if (open(FF, $filename))
{
binmode(FF);
$md5=Digest::MD5->reset;
$id = $md5->addfile(*FF)->hexdigest;
close(FF);
return $id;
$md5=Digest::MD5->reset;
} else
{
return "";

}

____________________________________________________
wie kann ich die Beide ausgeliferte zahlen ( Hexadezimel aus der Oberen script) mit eiender vergleichen ? Geht das? n
oder soll ich einfach die Werte in mein Tabelle in der Spate MD5 Vergleichen ?

DANKE !\n\n

<!--EDIT|renee|1166019471-->
Antworten mit Zitat
Relais
 2006-12-13 17:48
#72514 #72514
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
Aus der Doku von CPAN:Digest::MD5

Code: (dl )
1
2
3
4
5
6
7
           use Digest::MD5;

my $file = shift || "/etc/passwd";
open(FILE, $file) or die "Can't open '$file': $!";
binmode(FILE);

print Digest::MD5->new->addfile(*FILE)->hexdigest, " $file\n";
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming
Antworten mit Zitat
Relais
 2006-12-13 17:53
#72515 #72515
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
Hmm, das kommt davon, wenn man antwortet, bevor man die Frage verstanden hat...

Du suchst vermutlich dann wohl dies:
Code: (dl )
1
2
3
4
if ( get_MD5($erste_datei) eq get_MD5($zwote_datei) )
{
# tu dies und das..
}


Das eq ist ein stringvergleichender Operator aus perlop der aber auch bereits in perlintro erklärt wird.
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming
Antworten mit Zitat
nour
 2006-12-18 10:56
#72516 #72516
User since
2006-11-15
108 Artikel
BenutzerIn
[default_avatar]
hallo,
ich wollte eigentlich beide MAchen .

erstens die MD5 rechnen und in die Datenbank speichern , und erst danach die letzte einegetragene MD5 in der Tabelle mit die Vorherige vergleichen damit ich merke ob hat sich was geändert ind der Tabelle.
Antworten mit Zitat
nour
 2006-12-18 12:11
#72517 #72517
User since
2006-11-15
108 Artikel
BenutzerIn
[default_avatar]
Hallo,



Ich habe folgendes gemacht die untere Procedure in meinem code eingefügt aber es kommt eine fehler raus.
ich vermute dass hat mit "$file" zu tun .

und meine frage ist : über was verweist eigentlich $file??
Ich habe folgende tabelle:
ID Data_CISCO MD5
--------------------------------------------------------
1 "wortecisco" ?


2 "heneztehezecbvkhv" ?




"?": bedeutet dass MD5 noch nicht gerechnet.

:[CODE]

sub get_MD5
{

my $file = shift
open(FILE, $file) or die "Can't open '$file': $!";
binmode(FILE);

print Digest::MD5->new->addfile(*FILE)->hexdigest, " $file\n";
}

------------------------------------------------------------
Antworten mit Zitat
nour
 2006-12-18 12:13
#72518 #72518
User since
2006-11-15
108 Artikel
BenutzerIn
[default_avatar]
Hallo,



Ich habe folgendes gemacht die untere Procedure in meinem code eingefügt aber es kommt eine fehler raus.
ich vermute dass hat mit "$file" zu tun .

und meine frage ist : über was verweist eigentlich $file??
Ich habe folgende tabelle:
Code: (dl )
1
2
3
4
5
6
ID                 Data_CISCO                         MD5
--------------------------------------------------------
1 "ciscoconfig" ?


2 "heneztehezecbvkhv" ?



"?": bedeutet dass MD5 noch nicht gerechnet.

:
Code: (dl )
1
2
3
4
5
6
7
8
9
sub get_MD5
{

my $file = shift
open(FILE, $file) or die "Can't open '$file': $!";
binmode(FILE);

print Digest::MD5->new->addfile(*FILE)->hexdigest, " $file\n";
}

------------------------------------------------------------
Sollte ich $File, definieren!




Danke im Voraus\n\n

<!--EDIT|renee|1166437243-->
Antworten mit Zitat
nepos
 2006-12-18 13:55
#72519 #72519
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Wenn du uns sagst, welcher Fehler rauskommt, könnten wir dir sicher helfen ;)
Antworten mit Zitat
pq
 2006-12-18 17:33
#72520 #72520
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=nour,18.12.2006, 11:13]:
Code: (dl )
1
2
my $file = shift 
   open(FILE, $file) or die "Can't open '$file': $!";
[/quote]
statements werden in perl mit dem semikolon voneinander getrennt.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Antworten mit Zitat
nour
 2006-12-19 10:05
#72521 #72521
User since
2006-11-15
108 Artikel
BenutzerIn
[default_avatar]
Die fehler die auf die Console Raus kommt ist wie folgend:

"Can't open 'DBI::db=HASH(0xa1ca10)': No such file or directory at ./Hauptprogramm.pl line 104."

und mit der zeile 104 ist die folgende zeilencode code gemeint:
Code: (dl )
1
2
3
open(FILE, $file) or die "Can't open '$file': $!";

ich habe auch eine methode geschrieben,die die Procedure "sub get_MD5"verwendet.

# MD5 berechnen
$MD5 = get_MD5($file);
print "MD5\n";

ich hoffe dass jemand kann mich helfen. für manche von euch ist es vielleicht eine leichte aufgabe. aber für ein Perl anfänger wie ich kann ich nicht manche fehler cheken :-).

Danke im voraus
Antworten mit Zitat
nepos
 2006-12-19 10:18
#72522 #72522
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hm, du scheinst da in $file statt eines Dateinamens ein Datenbankhandle zu übergeben. Das kann natürlich nicht klappen. Du solltest mal prüfen, welche Parameter du wo und wie übergibst.
Antworten mit Zitat
<< |< 1 2 >| >> 15 Einträge, 2 Seiten



View all threads created 2006-12-13 16:06.