Thread Shorthash - kann mir jemand dieses Skript erklären (2 answers)
Opened by Wlet at 2006-05-31 12:14

Wlet
 2006-05-31 12:14
#66805 #66805
User since
2006-05-24
15 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich bin auf der suche nach einer Methode, relativ kurze Hashes zu erzeugen, die mir als Dateinamen dienen sollen. Nun habe ich folgendes Skript gefunden, aber die letzte Zeile geht mir nicht in den Kopf:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/perl -w
#
# $Id: shorthash,v 1.2 2003/08/01 02:10:57 jmates Exp $
#
# The author disclaims all copyrights and releases this script into the
# public domain.
#
# Generates short (eight character) hashes from MD5 hex signatures.

require 5;
use strict;

use Digest::MD5;

my $fh;

if (@ARGV) {
my $file = shift;

open $fh, $file or die "error: could not open $file: $!\n";
binmode $fh;
} else {
$fh = *STDIN;
}

printf "%08x\n", unpack "N", Digest::MD5->new->addfile($fh)->digest;


Alles darüber ist soweit klar. Aber die Print-Anweisung kapiere ich nicht so ganz.

%08x -> hat wohl die Bedeutung, dass 8 Stellen Hexadezimal angezeigt werden sollen
unpack "N" -> Hier blick ichs garnicht. Wieso "N"? was für eine Beutung hat das Unpack im Kontext?
Digest::MD5->new->addfile($fh)->digest; -> erzeugt den eigentlichen Hashwert

Wer kann mir den Klaps auf den Hinterkopf geben?

Wlet

View full thread Shorthash - kann mir jemand dieses Skript erklären