Schrift
[thread]7795[/thread]

Digest::MD5

Leser: 2


<< >> 9 Einträge, 1 Seite
StefanJ
 2006-03-15 16:58
#63823 #63823
User since
2005-05-03
35 Artikel
BenutzerIn
[default_avatar]
Ich benutze dieses Modul wie folgt:
Code: (dl )
1
2
3
4
5
 use Digest::MD5 qw(md5 md5_hex md5_base64);

$data = "c:/Test.txt";
$digest = md5_hex($data);
print $digest;


Kann es sein, dass die MD5 checksum, Pfad-abhängig ist??
Weil wenn ich mir die Checksumme von c:/test.txt ausgebe, und dann nochmal für die gleiche Datei in einem anderen Ordner z.B. c:/komisch/test.txt, dann ist die checksumme anders ! Kann man das irgendwie umgehen??also eine checksumme nur vom "reinen" file ??
Dankeschön
vayu
 2006-03-15 17:07
#63824 #63824
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
du machst damit keine checksum über das file sondern über den string "c:\test.txt" :)

benutze das Modul hier und alles sollte gut werden

CPAN:Digest::MD5::File\n\n

<!--EDIT|vayu|1142435371-->
StefanJ
 2006-03-15 18:39
#63825 #63825
User since
2005-05-03
35 Artikel
BenutzerIn
[default_avatar]
ich krieg die Krise. ich kriegs net mal hin, das CPAN Modul zu installieren. ich lade es runter unter installiere es mit >perl -MCPAN -e install Digest::MD5::File. Nachdem man sich da durchgeackert hat, und ich dann das Perl Skript starten will, bekomme ich das hier:

Digest::MD5 object version 2.33 does not match bootstrap parameter 2.36 at C:/Program Files/Perl/lib/XSLoader.pm line 92.
Compilation failed in require at C:/Program Files/Perl/lib/Digest/MD5/File.pm line 6.
BEGIN failed--compilation aborted at C:/Program Files/Perl/lib/Digest/MD5/File.pm line 6.

Please help!
StefanJ
 2006-03-15 18:40
#63826 #63826
User since
2005-05-03
35 Artikel
BenutzerIn
[default_avatar]
ach ja,
ActivePerl-5.8.7.815-MSWin32-x86-211909.msi
hab ich vorher frisch installiert...
StefanJ
 2006-03-15 18:43
#63827 #63827
User since
2005-05-03
35 Artikel
BenutzerIn
[default_avatar]
sorry noch was vergessen:
wenn ich es mit dem makefile.pl installieren will, krieg ich das hier zurück :

Unable to find a perl 5 (by these names: C:\Program Files\Perl\bin\perl.exe perl
.exe perl5.exe perl5.8.7.exe miniperl.exe, in these dirs: c:\Program Files\Perl\
bin\ c:\Perl\bin\ C:\PROGRA~1\Borland\CBUILD~1\Projects\Bpl C:\PROGRA~1\Borland\
CBUILD~1\Bin C:\Program Files\Windows Resource Kits\Tools\ C:\WINDOWS\system32 C
:\WINDOWS C:\WINDOWS\System32\Wbem C:\Program Files\UltraEdit . . C:\Program Fil
es\Open Text\Livelink Explorer C:\Program Files\SecureCRT . C:\Program Files\Har
ald-Ren&Θ Flasch\Remote Command 1.51\ c:\Program Files\Perl\bin)
Writing Makefile for Digest::MD5::File
Relais
 2006-03-15 20:49
#63828 #63828
User since
2003-08-06
2246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Klingt so, als solltest Du auch CPAN:Digest::MD5 noch updaten.
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
FIFO
 2006-03-15 21:29
#63829 #63829
User since
2005-06-01
469 Artikel
BenutzerIn

user image
Du musst einen Dateihandle übergeben (hier in der Objektsyntax),
vgl. Manpage von Digest::MD5. Dann brauchst Du das CPAN-Modul ...::File nicht.

Code: (dl )
1
2
3
4
use Digest::MD5;
my $file = "c:/test.txt";
open(FILE, ':raw', $file) or die "Can't open '$file': $!";
print Digest::MD5->new->addfile(*FILE)->hexdigest, " $file\n";
\n\n

<!--EDIT|FIFO|1142451089-->
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? -- Brian Kernighan: "The Elements of Programming Style"
StefanJ
 2006-03-15 22:29
#63830 #63830
User since
2005-05-03
35 Artikel
BenutzerIn
[default_avatar]
@Relais: Habs nochma von vorne alles installiert:
Erst Active Perl, dann Encode 2.14.
Dann Digest::MD5. Dort zeigt er mir dann folgendes an(makefile.pl):
"Perl's Config says that U32 access must not be aligned.
Writing MakeFile for Digest::MD5"

Dann noch Digest::MD5::File mit folgendem Output:
"Writing MakeFile for Digest::MD5::File"

Hört sich doch eigentlich alles soweit ganz gut an.
Aber bei Benutzung des Moduls bekomm ich trotzdem:
"Can't locate Digest/MD5/File.pm in @INC (@INC contains: D:\DOKUME~1\Stefan\Desktop\PERL\ D:/Perl/lib D:/Perl/site/lib .) at D:\DOKUME~1\Stefan\Desktop\PERL\s.pl line 2."
Noch eine Idee ??

@FIFO

Danke, Hast recht geht auch ohne!

Würde mich trotzdem interessieren warum das nicht mit dem Modul Digest::MD5::File funktioniert !??!
renee
 2006-03-15 22:34
#63831 #63831
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ein "Writing MakeFile for xxx" sagt noch nichts darüber aus, ob es installiert werden kann... Es fehlt noch das make, make test, make install, aber wie man ein Modul installiert kann man wunderbar im Wiki:Artikel nachlesen...\n\n

<!--EDIT|renee|1142454898-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 9 Einträge, 1 Seite



View all threads created 2006-03-15 16:58.