Perl和哈希计算

河马

当我在终端中执行此命令时

echo -n 1 | sha256sum

然后命令输出如下所示:

6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b

但是当我在代码中使用perl脚本时:

#!/usr/bin/perl

use strict;
use warnings;

my $text = '1';
my $hash = Digest::SHA->sha256_hex($text);

print $hash;

然后脚本输出如下所示:

f3a94951713ca935dcac0422747fb3e435cd8c6785c91ff5d9477e573df9ca28

我认为问题在于字符串$ text编码进入哈希函数时。有人可以解释我该怎么做吗?

瓦迪姆·普什塔夫

您无法使用,Digest::SHA->sha256_hex(1)因为它实际上是Digest::SHA::sha256_hex("Digest::SHA", 1)

利用

 Digest::SHA::sha256_hex(1)

要么

 use Digest::SHA qw(sha256_hex);
 sha256_hex(1);

或(OOP风格)

Digest::SHA->new(256)->add(1)->hexdigest()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章