Bagaimana untuk mendapatkan SHA256 hash di Perl

Tugas. Di Perl kode adalah variabel. Anda perlu menghitung SHA256 hash value dari variabel ini.

Keputusan

Solusinya adalah dengan menggunakan Perl perpustakaan Digest::SHA. Perpustakaan Digest::SHA datang dengan Perl, jadi jika anda memiliki Perl, perpustakaan ini tersedia untuk juga menginstal apa-apa.

Dapatkan SHA256 hash, anda dapat menggunakan kode ini:

▶ Run
#!/usr/bin/perl

use Digest::SHA qw(sha256_hex);

my $var = 123;

my $sha256_hash = sha256_hex($var);

print $sha256_hash;

Program ini menampilkan string 'a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3'.

  • use Digest::SHA qw(sha256_hex); — kita menghubungkan Perl perpustakaan dan mengatakan bahwa dari perpustakaan ini kita membutuhkan sebuah fungsi sha256_hex
  • my $var = 123; — membuat variabel dan menempatkan nilai 123
  • my $sha256_hash = sha256_hex($var); — menggunakan fungsi sha256_hex kita menghitung SHA256 hash dari nilai variabel $var dan menempatkan hasilnya dalam variabel $sha256_hash
  • print $sha256_hash; — membawa nilai dari variabel $sha256_hash pada layar

Jika perpustakaan tidak menunjukkan bahwa kita membutuhkan fungsi sha256_hex, dan hanya menulis use Digest::SHA;, ketika eksekusi program akan error:

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

Format nilai kembali dari fungsi sha256_hex

Fungsi sha256_hex selalu mengembalikan sebuah string. Dalam baris ini, selalu tepat 64 karakter. Baris ini dapat angka-angka dari 0 sampai 9 dan huruf Latin dalam kasus yang lebih rendah dari 'a' untuk 'f'. Simbol-simbol lainnya di baris ini tidak bisa.

Fungsi sha256_hex SHA256 mengembalikan sebuah string yang berisi angka dalam notasi heksadesimal.

Yang versi Perl perpustakaan Digest::SHA tersedia segera

Pada awal teks ini mengatakan bahwa perpustakaan Digest::SHA dilengkapi dengan Perl jika anda memiliki Perl, perpustakaan ini segera tersedia. Sebenarnya hal ini tidak begitu. Perpustakaan Digest::SHA pertama kali diperkenalkan di Perl versi 5.10. Jadi jika anda memiliki Perl versi 5.8 atau lebih rendah, maka perpustakaan ini harus dimasukkan juga. Tetapi bahkan lebih baik untuk meng-upgrade Perl untuk yang lebih baru. Perl 5.8 dirilis pada tahun 2002.

Artikel lainnya