Come ottenere un codice SHA1 in Perl

Il compito. In Perl codice di una variabile. È necessario calcolare l'hash SHA1 del valore di questa variabile.

La decisione

La decisione — utilizzare Perl libreria Digest::SHA. La libreria Digest::SHA va insieme con Perl, quindi se avete Perl, questa libreria una volta disponibile, inoltre installare nulla.

Ottenere codice SHA1 utilizzando questo codice:

▶ Run
#!/usr/bin/perl

use Digest::SHA qw(sha1_hex);

my $var = 123;

my $sha1_hash = sha1_hex($var);

print $sha1_hash;

Questo programma visualizza una riga '40bd001563085fc35165329ea1ff5c5ecbdbbeef'.

  • use Digest::SHA qw(sha1_hex); — colleghiamo il Perl libreria e diciamo che da questa libreria ci serve una funzione sha1_hex
  • my $var = 123; — creato una variabile e messo un valore di 123
  • my $sha1_hash = sha1_hex($var); — con la funzione sha1_hex abbiamo calcolato codice SHA1 dal valore di una variabile $var e messo il risultato in una variabile $sha1_hash
  • print $sha1_hash; — hanno il valore di una variabile $sha1_hash su schermo

Se la connessione libreria non si specifica di che cosa abbiamo bisogno di una funzione di sha1_hex, ma semplicemente scrivere use Digest::SHA;, durante l'esecuzione del programma sarà di errore:

Undefined subroutine &main::sha1_hex called at script.pl line 7.

Il formato del valore di ritorno della funzione sha1_hex

Funzione sha1_hex restituisce sempre una stringa. In questa riga è sempre esattamente 40 caratteri. In questa linea possono essere i numeri da 0 a 9 e lettere latine minuscole da 'a' a 'f'. Altri personaggi in questa riga non può essere.

Funzione sha1_hex restituisce SHA1 sotto forma di stringa che contiene il numero in esadecimale.

Quali versioni di Perl biblioteca Digest::SHA è disponibile da subito

All'inizio di questo testo è scritto che la biblioteca Digest::SHA viene fornito con Perl e se avete Perl, questa libreria una volta disponibile. In realtà non è proprio così. La libreria Digest::SHA prima apparizione in Perl versione 5.10. Quindi, se avete Perl versione 5.8 o inferiore, allora questa libreria c'è bisogno di mettere ulteriormente. Ma ancora meglio aggiornare Perl sul più fresco. Perl 5.8 è uscito nel 2002.

Altri articoli