2012-04-03 7 views
9

में SHA256 डाइजेस्ट मुझे ईमेल पते के SHA256 हैशिंग करने की आवश्यकता है और मुझे परिणाम स्ट्रिंग के रूप में चाहिए।पीएचएल

use Digest::SHA qw(sha256); 
    my $data = '[email protected]'; 
    my $digest = sha256($data); 

    print $digest; 

लेकिन यह की तरह कुछ प्रिंट:

cbc41284e23c8c7ed98f589b6d6ebfd6 

ऊपर हैश SHA256 का उपयोग कर उत्पन्न होता है:

B/D6i1μû^Þ©Q;¢Þ 

मैं इस प्रकार उत्पादन की जरूरत है

मैं निम्नलिखित की कोशिश की Apache DigestUtils का जनरेटर।

मैं क्या गलत कर रहा हूं? मैं perl में एक नौसिखिया हूँ, तो क्षमा करें अगर यह मूर्खतापूर्ण है।

धन्यवाद।

+0

** MD5 ** टैग इस सवाल का जोड़ा जाना चाहिए –

उत्तर

16

cbc41284e23c8c7ed98f589b6d6ebfd6[email protected] के लिए MD5, है SHA-256

नहीं

SHA [email protected] के लिए encryptions >>

SHA-1:   3a3be7013e297e28d24979aadc4ae75d84ce0844 
SHA-256:   0947300f280d422f4418366931cebcfbd17f5ede1507a951153b0f15a21c10de 
SHA-384:   34c01f3956aac32aacae1a6cf67f8a66d441af06c9d36f580ce4be5b234b5399cd879231c49db5bec269309582c19432 
SHA-512:   db1aa053dd9ee191b091abbcb8bead2ec69a1ab2664bb1deeeedbdb49b25e7bc7680a7659ae88c046afdabf1e35ed0e068763f8754b369bfade69cf21f65d166 
SHA-1 (Base64): OjvnAT4pfijSSXmq3ErnXYTOCEQ= 
SHA-256 (Base64): CUcwDygNQi9EGDZpMc68+9F/Xt4VB6lRFTsPFaIcEN4= 
SHA-384 (Base64): NMAfOVaqwyqsrhps9n+KZtRBrwbJ029YDOS+WyNLU5nNh5IxxJ21vsJpMJWCwZQy 
SHA-512 (Base64): 2xqgU92e4ZGwkau8uL6tLsaaGrJmS7He7u29tJsl57x2gKdlmuiMBGr9q/HjXtDgaHY/h1Szab+t5pzyH2XRZg== 

क्या आप वाकई SHA-256 और आप हेक्स उत्पादन के लिए देख रहे हैं, तो कोशिश उपयोग करना चाहते हैं यह एक:

स्क्रिप्ट:

#!/usr/bin/perl 
use Digest::SHA qw(sha256); 
print unpack("H*", sha256('[email protected]')), "\n"; 

या

#!/usr/bin/perl 
use Digest::SHA qw(sha256_hex); 
print sha256_hex('[email protected]'), "\n"; 

आउटपुट:

0947300f280d422f4418366931cebcfbd17f5ede1507a951153b0f15a21c10de 

और अगर आप के साथ हेक्स उत्पादन MD5 चाहते हैं, तो कोशिश यह एक:

स्क्रिप्ट:

#!/usr/bin/perl 
use Digest::MD5 qw(md5); 
print unpack("H*", md5('[email protected]')), "\n"; 

या

#!/usr/bin/perl 
use Digest::MD5 qw(md5_hex); 
print md5_hex('[email protected]'), "\n"; 

आउटपुट:

cbc41284e23c8c7ed98f589b6d6ebfd6 
6

आप शायद CPAN के Digest::SHA पेज

से Digest::SHA qw(sha256_hex) चाहते तार्किक रूप से एक भी स्ट्रिंग में तर्क मिलती है, और इसके SHA-1/224/256/384/512 हेक्साडेसिमल स्ट्रिंग के रूप में एन्कोड पचाने में वापस आती है।