【问题标题】:SHA256 digest in perlperl 中的 SHA256 摘要
【发布时间】:2012-04-17 00:26:09
【问题描述】:

我需要对电子邮件地址进行 SHA256 哈希处理,并且我需要将结果作为字符串。

我尝试了以下方法:

  use Digest::SHA qw(sha256);
  my $data = 'swaranga@gmail.com';
  my $digest = sha256($data);

  print $digest;

但它会打印如下内容:

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

我需要如下输出:

cbc41284e23c8c7ed98f589b6d6ebfd6

上面的哈希是使用Apache DigestUtils的SHA256生成器生成的。

我做错了什么?我是 perl 的新手,如果它是愚蠢的,请原谅。

谢谢。

【问题讨论】:

  • MD5 标签应该添加到这个问题中

标签: perl hash md5 sha sha256


【解决方案1】:

cbc41284e23c8c7ed98f589b6d6ebfd6swaranga@gmail.comMD5,而不是 SHA-256


SHA 加密 swaranga@gmail.com >>

 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 并且正在寻找 HEX 输出,那么试试这个:

脚本:

#!/usr/bin/perl
use Digest::SHA qw(sha256);
print unpack("H*", sha256('swaranga@gmail.com')), "\n";

#!/usr/bin/perl
use Digest::SHA qw(sha256_hex);
print sha256_hex('swaranga@gmail.com'), "\n";

输出:

0947300f280d422f4418366931cebcfbd17f5ede1507a951153b0f15a21c10de

如果你想要 MD5HEX 输出,那么试试这个:

脚本:

#!/usr/bin/perl
use Digest::MD5 qw(md5);
print unpack("H*", md5('swaranga@gmail.com')), "\n";

#!/usr/bin/perl
use Digest::MD5 qw(md5_hex);
print md5_hex('swaranga@gmail.com'), "\n";

输出:

cbc41284e23c8c7ed98f589b6d6ebfd6

【讨论】:

    【解决方案2】:

    您可能想要来自 CPAN 的 Digest::SHA 页面的 Digest::SHA qw(sha256_hex)

    在逻辑上将参数连接成一个字符串,并返回它的 SHA-1/224/256/384/512 摘要编码为十六进制字符串。

    【讨论】:

      猜你喜欢
      • 2022-12-12
      • 1970-01-01
      • 1970-01-01
      • 2013-09-09
      • 1970-01-01
      • 2019-06-27
      • 1970-01-01
      • 2020-12-21
      • 1970-01-01
      相关资源
      最近更新 更多