2012-04-03 33 views
9

Tôi cần phải làm SHA256 băm địa chỉ email và tôi cần kết quả dưới dạng Chuỗi.Thông báo SHA256 trong perl

tôi thử như sau:

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

    print $digest; 

Nhưng nó in cái gì đó như:

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

tôi cần đầu ra như sau:

cbc41284e23c8c7ed98f589b6d6ebfd6 

Các băm trên được tạo ra sử dụng SHA256 máy phát điện của Apache DigestUtils.

Tôi đang làm gì sai? Tôi là một newbie trong perl, vì vậy xin lỗi nếu nó là một cái gì đó ngớ ngẩn.

Cảm ơn.

+0

** MD5 ** thẻ nên được bổ sung cho câu hỏi này –

Trả lời

16

cbc41284e23c8c7ed98f589b6d6ebfd6MD5 cho [email protected], không SHA-256


SHA encryptions cho [email protected] >>

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== 

Nếu bạn chắc chắn rằng bạn muốn sử dụng SHA-256 và bạn đang tìm kiếm HEX đầu ra, sau đó thử này một:

Script:

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

hoặc

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

Kết quả:

0947300f280d422f4418366931cebcfbd17f5ede1507a951153b0f15a21c10de 

Và nếu bạn muốn MD5 với HEX đầu ra, sau đó thử này một:

Script:

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

hoặc

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

Output:

cbc41284e23c8c7ed98f589b6d6ebfd6 
6

Bạn có thể muốn Digest::SHA qw(sha256_hex) Từ CPAN của Digest::SHA trang

Logic gia nhập các đối số vào một chuỗi duy nhất, và trả về nó SHA-1/224/256/384/512 Digest mã hóa như là một chuỗi thập lục phân.

Các vấn đề liên quan