Come ottenere l'hash SHA256 in Perl

Il compito. In Perl codice di una variabile. Necessità di calcolare l'hash SHA256 dal 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 un hash SHA256 è possibile con questo codice:

▶ Run
#!/usr/bin/perl

use Digest::SHA qw(sha256_hex);

my $var = 123;

my $sha256_hash = sha256_hex($var);

print $sha256_hash;

Questo programma visualizza una riga 'a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3'.

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

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

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

Il formato del valore di ritorno della funzione sha256_hex

Funzione sha256_hex restituisce sempre una stringa. In questa riga è sempre esattamente 64 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 sha256_hex restituisce SHA256 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