2012-07-06 52 views
7

此php代码的perl等效物是什么?
hmac sha-256 in perl

$hash = hash_hmac('sha256', $all , $secret);

我尝试使用下面的代码,但徒劳无功。值是不同的。

  use Digest::SHA; 
      $sha = Digest::SHA->new('sha256'); 
      $sha->add($secret); 
      $sha->add($all); 
      $digest = $sha->hexdigest; 

问候, 帕

+1

HMAC与普通散列不同。尝试[Digest :: HMAC](http://search.cpan.org/dist/Digest-HMAC/lib/Digest/HMAC.pm)。 – musiKk 2012-07-06 14:27:15

+1

ya。我找到了答案。使用Digest :: SHA qw(hmac_sha256_hex); \t \t \t $ digest = hmac_sha256_hex($ all,$ secret);谢谢 – Pavan 2012-07-06 14:33:01

+1

你能回答你的问题吗? – 2012-10-16 09:48:06

回答

11

因为我的问题得到的比我预期更多的意见,我决定回答它来帮助其他有同样的问题。我在PHP中找到了它的等价物。

use Digest::SHA qw(hmac_sha256_hex); 
$digest=hmac_sha256_hex($all, $secret); 

希望它有帮助。

+4

+ 2年后回答你自己的问题! – mvp 2014-07-17 10:09:31