कैसे प्राप्त करने के लिए एक SHA1 हैश पर्ल में

कार्य । पर्ल में कोड चर रहा है । आप की जरूरत है की गणना करने के लिए SHA1 हैश के इस चर का मान.

निर्णय

समाधान का उपयोग करने के लिए पर्ल पुस्तकालय Digest::SHA. पुस्तकालय Digest::SHA के साथ आता है पर्ल, इसलिए यदि आप पर्ल, इस लाइब्रेरी के लिए उपलब्ध है इसके अतिरिक्त स्थापित कुछ भी नहीं है ।

प्राप्त करने के लिए SHA1 हैश, आप कर सकते हैं इस कोड का उपयोग:

▶ Run
#!/usr/bin/perl

use Digest::SHA qw(sha1_hex);

my $var = 123;

my $sha1_hash = sha1_hex($var);

print $sha1_hash;

इस कार्यक्रम को प्रदर्शित करता है स्ट्रिंग '40bd001563085fc35165329ea1ff5c5ecbdbbeef'.

  • use Digest::SHA qw(sha1_hex); — हम कनेक्ट पर्ल पुस्तकालय और कहना है कि इस पुस्तकालय से हम की जरूरत है एक समारोह sha1_hex
  • my $var = 123; — बनाया एक चर के मूल्य 123
  • my $sha1_hash = sha1_hex($var); — कार्यों का उपयोग कर sha1_hex हम गणना की SHA1 हैश के चर के मूल्य $var डाल दिया है और परिणाम में एक चर $sha1_hash
  • print $sha1_hash; — लाया चर के मूल्य $sha1_hash स्क्रीन पर

यदि लाइब्रेरी का संकेत नहीं है कि हम की जरूरत है एक समारोह sha1_hex, और सिर्फ लिखने use Digest::SHA;, जब कार्यक्रम के निष्पादन हो जाएगा त्रुटि:

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

के प्रारूप में एक समारोह का वापसी मान sha1_hex

समारोह sha1_hex हमेशा एक स्ट्रिंग देता है. इस स्ट्रिंग हमेशा वास्तव में 40 अक्षर. इस लाइन किया जा सकता है संख्या 0 से 9 और लैटिन अक्षरों में कम से मामले 'a' के लिए 'f'. अन्य प्रतीकों इस पंक्ति में नहीं किया जा सकता है.

समारोह sha1_hex SHA1 रिटर्न एक स्ट्रिंग में शामिल है, जो एक संख्या में हेक्साडेसिमल अंकन है.

जो संस्करणों के पर्ल पुस्तकालय Digest::SHA तुरंत उपलब्ध

की शुरुआत में इस पाठ का कहना है कि लाइब्रेरी Digest::SHA के साथ आता है पर्ल यदि आप पर्ल, इस पुस्तकालय तुरंत उपलब्ध है । वास्तव में यह ऐसा नहीं है । पुस्तकालय Digest::SHA पेश किया गया था में पर्ल संस्करण 5.10. तो अगर आप पर्ल संस्करण 5.8 या कम है, तो इस लाइब्रेरी में रखा जाना चाहिए इसके अतिरिक्त. लेकिन और भी बेहतर करने के लिए उन्नयन पर्ल करने के लिए एक और अधिक हाल ही में एक. पर्ल 5.8 में जारी किया गया था 2002.

अन्य लेख