Làm thế nào để có được một SHA1 băm trong Perl

Nhiệm vụ. Trong Perl mã là biến. Bạn cần phải tính toán SHA1 băm giá trị của biến này.

Quyết định

Các giải pháp để sử dụng Perl thư viện Digest::SHA. Thư viện Digest::SHA là Perl, vì vậy, nếu bạn có Perl, thư viện này là có bổ sung cài đặt, không có gì.

Để có được một SHA1 băm, bạn có thể sử dụng mã này:

▶ Run
#!/usr/bin/perl

use Digest::SHA qw(sha1_hex);

my $var = 123;

my $sha1_hash = sha1_hex($var);

print $sha1_hash;

Này, chương trình hiển thị các chuỗi '40bd001563085fc35165329ea1ff5c5ecbdbbeef'.

  • use Digest::SHA qw(sha1_hex); — chúng tôi kết nối Perl thư viện và nói rằng từ thư viện này, chúng tôi cần một chức năng sha1_hex
  • my $var = 123; — tạo ra một biến và đặt giá trị 123
  • my $sha1_hash = sha1_hex($var); — sử dụng năng sha1_hex , chúng tôi tính SHA1 băm giá trị của các biến $var và đưa ra kết quả ở một biến $sha1_hash
  • print $sha1_hash; — đưa giá trị của biến $sha1_hash trên màn hình

Nếu thư viện không chỉ ra rằng chúng ta cần một chức năng sha1_hex, và chỉ cần viết use Digest::SHA;, khi thực hiện các chương trình sẽ được đề:

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

Các dạng của trở lại giá trị của một chức năng sha1_hex

Chức năng sha1_hex luôn luôn trở về một chuỗi. Chuỗi này luôn là chính xác 40 nhân vật. Dòng này có thể được những con số từ 0 tới 9 và chữ Latin trong trường hợp thấp hơn từ 'a' đến 'f'. Các ký hiệu khác trong hàng này không thể được.

Chức năng sha1_hex SHA1 trả về một chuỗi trong đó có một số thập phân, ký hiệu.

Đó một phiên bản của Perl thư viện Digest::SHA có ngay lập tức

Ở đầu này văn bản nói rằng thư viện Digest::SHA đến với Perl nếu bạn có Perl, thư viện này ngay lập tức có sẵn. Thực ra nó không phải là như vậy. Thư viện Digest::SHA đầu tiên giới thiệu bản Perl 5.10. Vì vậy, nếu bạn có Perl phiên bản 5.8 hay thấp hơn, sau đó, thư viện này phải được đưa ra. Nhưng thậm chí còn tốt hơn để nâng cấp Perl hơn gần đây. Perl 5.8 được phát hành vào năm 2002.

Các bài viết khác